The "CMS Fatigue" Every Developer Knows
As a web developer, imagine you're handed a brief tomorrow: build a website or blog whose content is updated regularly, loads lightning-fast, and comes with an admin panel where you or your team can manage the site and write posts comfortably. The question is: "Which CMS should I use?"
Go through what's on the market today and you keep arriving at the same uncomfortable fork in the road.
WordPress: A world-class tool that can do almost anything, the undisputed jack of all trades. But it comes with a massive legacy codebase, security issues you always have to watch out for, and a feeling that it's simply "too bulky" for a modern web stack.
Heavyweight Headless CMS (e.g. Strapi, Payload): Flexible and modern, but for small to medium projects you end up booting a large Docker container, tying it to a complex database and burning through memory, just to manage a few dozen posts and pages. It feels like "using a sledgehammer to crack a nut."
SaaS Headless (e.g. Sanity, Contentful): Easy to use, but the price is vendor lock-in. As the project grows or traffic rises, the monthly bill is always ready to give your wallet a fright.
And most importantly... the problem of "bilingual websites (Thai & English)."
Anyone who has built websites in Thailand knows that on most headless CMSs, bilingual support is just an "add-on" bolted on after the fact. Developers end up configuring schemas nested inside schemas, wrestling with routing and slugs in Thai, or relying on plugins that add unnecessary load to the system.
So a question took shape in my mind: "Could there be a CMS that's easy to install, light, fast, has a clean API, and truly understands the context of Thai-English websites?"
And that's where TomeCMS began.
Where the Name "TomeCMS" Comes From
You might be wondering: why Tome?
The word "Tome" means a large, weighty book: an ancient text or a record of valuable knowledge, carefully compiled. It's the classic image of how people have organised knowledge and writing. (It's also a deliberate nod to my nickname, Tom.)
The irony is that in the digital age, a "thick tome" tends to come with weight and bulk, and is hard to open.
So I redefined the word for software:
TomeCMS is a place to keep stories worth keeping, like a Tome, but reimagined to be light, clean and easy to reach, for writers and readers alike.
None of the bulk of legacy systems, while keeping the solidity, stability and care of its data structure fully intact.
Introducing TomeCMS: Simplicity Powered by Astro
TomeCMS is an open-source CMS I built around the philosophy "Bespoke, Clean and Content-First." It's meant to fill the gap between traditional CMSs that are too heavy and static site generators that lack an admin back end.
At the heart of TomeCMS are three key parts:
Built with Astro:
Rather than building on a framework that pushes JavaScript into every corner, TomeCMS is built on Astro's architecture, known for its excellent handling of Content Collections and its exceptionally fast approach to rendering. Both the public site and the admin stay clean, without carrying more runtime than they need.Born bilingual (Native Thai & English Support):
TomeCMS doesn't treat Thai as merely a matter of translating words. It is designed to support bilingual content (Thai & English) as a first-class citizen, right from the core. The admin UI switches between and works naturally in both Thai and English, and the data structure and URL routing are designed to be SEO-friendly for both Thai and international web conventions.
Headless API, ready out of the box (OpenAPI Ready):
Although TomeCMS ships with an admin and a themeable front end, it also works as a full headless CMS through a REST API. All of your data can be used with any front-end framework you like, whether that's Next.js, TanStack Start, SvelteKit or a mobile app.
Who Is TomeCMS For? (And Who Isn't It For?)
TomeCMS is a great fit for: developers and freelancers delivering business websites, portfolios, blogs or landing pages that clients need to update themselves, without a messy back-end setup. It suits anyone who needs a bilingual (Thai-English) website that works out of the box, and who wants 100% control over their own data (self-hosted) without paying a monthly SaaS fee.
TomeCMS is not a good fit for: large enterprises that need multi-step editorial workflows or micro-role permission management.
Coming Up Next...
In EP 2 of this series, I'll take a deep dive into the architecture behind TomeCMS (Architecture Deep Dive).
If you can't wait for the next episode, you can browse the code and read the full documentation here:
GitHub Repository: github.com/Dhanabhon/tome-cms
Documentation: dhanabhon.github.io/tome-cms
If you like the idea, please give the project a Star ⭐️ on GitHub to show your support!