For almost four years I worked as a full-stack developer on a large WordPress site. It combined e-commerce and e-learning, and over time it grew to more than 60 plugins. By the end, even simple changes were stressful. A theme update could break a page, a plugin update could break the theme, and nobody could tell in advance what a change would touch.
The site wasn't badly built. The problem was structural: content, design and features had grown into each other. That's the question I started Umono with. What if those layers had hard boundaries, enforced by the system instead of by everyone's discipline?
Umono is an open-source CMS (Go, SQLite, MIT) that I've been building on my own since 2024. This post is about the idea behind it, not the feature list.
Three layers, three jobs
Content says what something means.
A theme decides how it looks.
A plugin adds what it does.
In most CMSs each of these can reach into the others.…