median blog

The CMS I would like to see.

I've used quite a few CMS options over the years. Here I am talking in the context of managing content in a web / mobile app rather than the traditional blog like CMS. While many have been good, they all feel a little off the mark. Here's what my ideal setup would look like.

One, content is small things. Entries should be as small as logically possible. Think one entry for the text on a button. Ideas like microcopy should be first class options. Many CMS setups

I've tried don't do this very well. Small pieces of copy are almost always possible but they end up feeling like awkwardly short blog posts or pages rather than a first class option.

Two, content groups itself with use. If you're loading a page on your web app, you might need a hundred pieces of copy. Fetching each one of those can be a slow down so best practice tends to be grouping content within the CMS and returning all the content for that page. This is fine but means that the app and the CMS need to be manually kept in sync.

Instead, what I'd love to see is something similar to a span used in libraries like the Rust tracing library. With the right setup an app could declare a series of nested spans as it is asking for content. Span calls could allow the CMS to form its own grouping of content based on real world usage. This would allow both easy caching and logical grouping and usage information for the content editors using the CMS.

It has the additional benefit that if content moves or is added to a page, nobody needs to update the CMS. You'll see a couple of cache misses in the beginning but that would ideally quickly resolve. I could even imagine a cache rebuild happening during end to end testing to pre-warm the new version.

If clever enough, caches could exist for different app versions, potentially different devices or any other level. I think a simple page level cache with versioning would hit 80%+ of use cases.

If you're looking for something to build. Please build this, I would pay for it. If this already exists, please tell me.