I'm working on a project which may or may not ship, but it presents an interesting design challenge either way.
The idea is I want to write lots of little bits, less than 5000 characters each, they have titles, use styling, links, include images, etc.
Or it could also be as small as a single emoji.
This is what we've settled on in 2024 as the basic unit of writing. From a tweet to a long blog post.
I want to make an editor and storage system that fits this model perfectly based on all we know about this stuff, and the latest server and network technologies.
It should have the best simplest API we know how to make in 2024.
In every way it'll be the nicest, fastest and most flexible way to create structures of writing over time.
In that last sentence is the gotcha -- over time. It's the frontier, the leading edge. Because in 2024 there's no way for me, as an individual developer to create a structure that lasts over time.
I can create a structure that has a high probability of lasting a month. A pretty good chance of lasting a few years, but beyond that, it gets less likely probably at a pretty good clip and eventually goes over a cliff.
The way I have answered that in the past was with GitHub.
In 2017, I started an archive of my Scripting News writing on GitHub. It's still just a fraction of my writing, I'm not doing anything like that for all my other sites and services. But at least I've managed to set up a system that only requires me to do something once a month, which is something I like to do because it gives me some assurance the other mechanisms are still working. Archive systems have bugs too.
So I guess for the project I'm doing I will again use GitHub to mirror the content in the database until and unless GitHub proves unusable for this purpose, or something much better comes along.
Note that GitHub has made no promise about the continued availability of their service, all we have to go on is that they have been reliable for enough time to present the illusion of persistence. 😄