As I am polishing the interface for my task manager, I am looking into ways of reusing code across different display environments - specifically I right now want to expand from the CLI to the web and Messenger Bots, with potential native interfaces in mind for later as well. One very specific component prompted a bit of a search: A table with colspan, styled to not have cell delimiters.
I found some hope in https://github.com/Canop/termimad - it uses Markdown which can easily be converted to HTML and is frequently supported within messengers. But my table requirements are not supported, and would not be portable either way because such specificities are outside the scope of Markdown. For now I might just settle with it though, finding a way to move forward without colspan.
For the future, another aspect that needs to be reconsidered is interactivity: The CLI is a REPL, so there are no interactive elements, similarly for messengers. But on the web and in an app, clickable elements are expected and useful. By then, a cross-platform library like flutter or its aspiring Rust alternative https://github.com/emilk/egui shall be considered.