I suppose this is a place I should be seriously documenting my adventures at building a bespoke CMS inside of a static website.

Well, yesterday I reached 2.0, which was about refactoring a v1 that was basically a functionality demo for one single post type, of which I have a bunch. 2.0 abstracted the one monolithic app for doing one thing into general components.

This morning I hit 2.1, which was a performance upgrade. 2.0 reloaded the whole thing every time I changed posts. Now there are collection-specific routes and post-specific URLs, and the whole thing is indexed on the first load, so moving around is instant, even when editing in production.

That was good to do before adding collection 2 and uprooting the lingering bits that are specific to collection 1. Once that’s done, I’ll know how to finish optimizing, and then I can add everything else.

Just did my first extensive, real work session using Panorama. Found the last few bugs and changes for the actual workflow. This was all in local dev mode, so I still am yet to test the live production version, but I think of that as mostly for hot-editing on my phone typos I made at my desk. Every change in the web version rebuilds the whole site, so I don’t usually want to spend that compute time.

On to collection type no. 2 and Panorama 2.2 after lunch!

Tested the live production mode. Guess what. Had some problems! They’re fixed now.
Got to a functional 2.2 with a bunch of bad UI last night, so today I’m doing a major UI refactor I’m calling 2.5. Since I have successfully gone from one type of thing to two types of thing, it seems I can now impose a working UI that will scale to several types of thing. So I rewrote and reorganized all the navigation and toolbar hierarchies, and now my big bottleneck is a 2,000-line CSS file. So 2.5 will have that broken apart into digestible stylesheets for all the components.
Unwinding the edge problems of the CSS refactor took much of the day, but you know how it goes: It’s better than it was before. I still haven’t pushed, and I’m paring back the versioning in light of various realities. This work is 2.3, and I still have to standardize controls and cards and pave the way for loading images before that’s done. 2.4 will be making common form elements and formalizing the one-offs. 2.5 is the first addition of a new collection that doesn’t require breaking anything.
3.0 is when I ship my first version without Tina.io in it, and let me tell you, as amazing as that software is — as much as it helped me plan this entire site in a way that can be maintained as a static site forever — I am so excited to do that. There will be no hosted dependencies, no libraries dependent on other libraries, I might even be able to *gasp* update Astro at some point!
Just shipped 2.3! Almost at the truly fun part.
I accidentally created a new boring obligation having to log these things here instead of just spending the typing time doing more of the work, but I’m happy to talk about how it’s going with anyone who’s curious.