The current phase of development is, roughly, removing (ad hoc) some major annoyances in the actual use of the app (or proto-app).
The main strategic point here is to try to make improvements Hippocratically--that is, without doing harm. I've rushed out many features in the name of making an early draft more usable that unnecessarily complicated later work. A few principles to keep in mind:
main.py, that would be bad.
What I've done here is an example of the silly implementation. I am adding some styling to the app to make it look nice and make sure that other changes I make are compatible with some sort of reasonable display. In the fullness of time, I'll want these to be in
.css files and imported properly. For now, because my class names and everything else could easily change, I'm just doing string interpolation, inlining all the styling in the displayed HTML.
If that doesn't make sense, that's fine. CSS is very much not my favorite part of programming. Some things that are useful to know at this stage are:
awk, and various parts of Vim.
Defining all our HTML and CSS by doing string interpolation on the fly is not, not, not how large-scale, mature projects work. But if we separate components cleanly enough, it will be fairly painless to migrate to a more mature solution when we need to. (Or, at least, nowhere near as hard as migrating away from a half-baked attempt at using some framework.)