Finally Released! Development of a New Headless CMS Vol. 3
blog Business Software Technology

Finally Released! Development of a New Headless CMS Vol. 3

The Cloudflare-native ultra-fast headless CMS "KuroCMS" is officially released. Features a PC-free web installer, community templates, AI multilingual systems, and easy dashboard updates.


KuroCMS is finally officially released! It is a completely free, next-generation multilingual headless CMS that delivers ultra-fast distribution on Cloudflare edge and simple setup from smartphones.

There are countless CMS platforms in the world, but when individual developers or small business owners try to get "their own domain," "their own design," and "ultra-fast display speed," the difficulty and monthly operating costs suddenly skyrocket. However, the goal of KuroCMS, which we have been discussing in Vol. 1 and Vol. 2 of this series, is finally public! Along with the official release of version 1.7.0, this third entry of the development diary will detail the various newly added features and its overwhelming appeal. By the way, this Kurousagi site has also completely replaced Strapi with KuroCMS and is actually using it.

Of course, there is still plenty of room for improvement and bug fixing, but we decided to release it today as it proved usable after two to three days of testing.

The fusion of "completely free" and "limitless display speed" created by Cloudflare native

The biggest architectural feature of KuroCMS is that its backend and hosting infrastructure are all natively coupled to Cloudflare's edge computing environments (Workers, D1, KV, R2, Workers Assets).

Traditional headless CMSs and platforms like WordPress required monthly rental server fees ranging from a few hundred to a few thousand yen, as well as the hassle of database management. However, KuroCMS is designed to maximize the use of Cloudflare's powerful Free Tier. For a standard blog operation, it can be run for a monthly cost of "exactly 0 yen."

[Cloudflare Free Tier Benchmarks]
・Workers (Server execution): 100,000 requests/day
・D1 (SQLite database): 5GB storage
・KV (Page cache): 100,000 reads / 10,000 writes per day
・R2 (Media storage): 10GB storage / 1,000,000 operations per month
These limits are highly unlikely to be exceeded for personal or small to medium-sized sites.

Moreover, there is no compromise on display speed. KuroCMS utilizes a three-tier ultra-fast caching mechanism. Upon request, the nearest edge (edge cache) responds, and in the case of a cache miss, it is returned instantly from the KV storage. This achieves a page load time (TTFB) of under 100 milliseconds from anywhere in the world, boasting a performance that completely eliminates user stress.

While the resulting site displays at ultra-fast speeds using Vanilla JS and Tailwind CSS without any dependent libraries, KuroCMS itself does not use any framework. Therefore, there is no need for framework version management or adaptation fixes, and since there is no overhead from using frameworks, KuroCMS runs incredibly fast.

PC-free! A "Web Installer" that can even be launched from a smartphone

Headless CMSs have typically required PC or command-line (CLI) operations from build environment setup to operation and deployment. However, KuroCMS was developed with the goal of "easy deployment for everyone without a PC," leading to the creation of a dedicated Web Installer.

Users simply access the dedicated page via a browser and link their Cloudflare account, and resources such as Workers, D1, and KV are automatically provisioned, launching the KuroCMS admin panel. Once the first user is registered as an administrator (admin), the initialization screen (/initialize/) is automatically locked to ensure high security. This is a revolutionary system that allows all deployment and initial configuration to be completed directly from a smartphone screen.

A "true multilingual (i18n) data model" with built-in support for multiple languages

From the early stages of development, KuroCMS has been designed with multilingual support in mind for global distribution. On this Kurousagi site, it is set up to display a total of 9 languages, including Japanese, English, German, French, Italian, Spanish, Chinese, Korean, and Ukrainian. *Please use your own subscribed AI cloud service. Personally, as introduced in past articles, I recommend Gemini for a polite tone, ChatGPT for a friendly tone, and Claude for a formal tone.

Language Code Display Language URL Structure Features
ja Japanese (Site Default) /path/to/page Set as the base language, Kurousagi only writes articles in Japanese.
en English /path/to/page?lang=en Convert to English via REST API using low-cost AI clouds like Gemini.
zh / ko / de / fr / it / es / uk ZH / KO / DE / FR / IT / ES / UK /path/to/page?lang={code} Instruct the same AI cloud to translate from English into the other languages sequentially.

The data model is beautifully managed in a "one-to-many" relationship, where translation texts for each language (title, summary, body_html) hang under a single article ID (did) and a shared slug. When translating to a new language, you can simply select the language from the dropdown in the admin panel to duplicate the content of the existing base language with one click and start the translation.

Removing design barriers: the "Template function" and community sharing

Regarding "design freedom," which is a major draw of headless CMSs, KuroCMS also features its own unique specification. It is equipped with a "Template API" that treats HTML + KuroCMS special codes directly as templates.

This template engine expands variables and lists on the edge side dynamically or during static builds, simply by writing special expressions like site.name or #each articles.../each in the HTML. No knowledge of bloated JavaScript frameworks is required, allowing you to completely build your own design using pure HTML/CSS/JS.

Furthermore, created templates can be shared and downloaded with users worldwide with a single click via the "Community Template Library." Connected directly to the public library from the "Select Template" screen in the admin panel, you can check preview screens before installing and immediately apply your preferred design to your site.

[Auto Thumbnail Generation Function]
When publishing your designed template to the community, the admin panel temporarily renders the HTML in an iframe and automatically captures it as a JPEG in the browser using html2canvas technology, automatically registering it as a thumbnail for the library. Users do not need to create images manually.

Creating typographic consistency with the "Web Font Application Function"

Even if you deploy a beautifully designed template, if the fonts appear inconsistent depending on the operating system of the viewing smartphone or PC, it can ruin the site's impression. To address this, KuroCMS is equipped with a Web Font integration management feature.

The admin panel features a built-in catalog of 40 handpicked Google Fonts, ranging from Japanese, European, to monospace fonts. Using a two-pane shuttle UI, adding fonts to load, changing priority order, and setting the "Default Font" can be managed with a drag-and-drop feel. Once a default font is specified, CDN links are automatically injected into the <head> during public builds, overriding CSS specifications on the template side to beautifully unify the typography of the entire site.

Moreover, the admin panel's WYSIWYG editor (KuroEditor) is fully integrated with these settings. Because you can write in the editing screen with the exact same font as the public site, it completely eliminates the stress of "what you write looks different from what is published."

"Build Stream" for visual progress tracking and self-updates

During a "site-wide build" performed after updating a large number of articles, it's common to feel anxious when progress is not visible. KuroCMS provides a feature that returns a progress stream in NDJSON (Newline Delimited JSON) format from the build execution API (POST /api/build), reflecting progress in real time on the admin panel's progress bar and log viewer.

During builds, a caching feature (page_build_cache) works to skip unchanged pages, minimizing redundant KV writes to maximize edge utilization efficiency.

Additionally, the dashboard counts KV writes to allow users to verify if updates can be made within the free tier, helping them gauge their daily KV update (build work) limits.

[One-Click Automatic Updates]
The biggest hurdle of self-hosting an OSS headless CMS was the tediousness of the update process. KuroCMS features a self-update function. It communicates with the official GitHub release repository, notifies the admin panel when a new version is available, and simply clicking the "Update" button automatically replaces the script inside the Worker with the latest version of KuroCMS. No commands or Git operations are required.

Comprehensive Comparison with Major CMS Platforms

Lastly, we summarize the comparison between KuroCMS and major existing CMSs (WordPress and general headless CMS + Strapi).

Comparison Item KuroCMS WordPress Strapi 5 (Self-hosted)
Monthly Operating Cost Permanently Free (Within free tier) Rental server fee (500 yen~) VPS/PaaS fee (1,000 yen~)
Display/Response Speed Ultra-fast (Edge cache delivery) Server dependent (Prone to slowness) Configuration dependent (API delay exists)
Deployment Difficulty Easy with Web Installer Easy (Rental server auto-install) Difficult (Server setup, commands)
Multilingual Support Multilingual. *AI-operable Requires plugin (Extremely complex setup) Standard support (Setup/UI difficult for beginners) *Actually seems to have bugs and be unusable. Kurousagi tried many times.
Updates One-click from admin panel One-click from admin panel Requires command execution and manual deployment
License MIT-based Kuro License (Attribution added) GPL MIT

Conclusion: Towards a New Standard for Personal and Small Sites

KuroCMS is a revolutionary product that brings the benefits of "giving freely designed headless CMS overwhelming display speeds utilizing a CDN" onto Cloudflare in a way that matches the ease and zero-cost structure of Japanese blogging services. With careful attention to detail—such as the self-update function, the completeness of the multilingual model, and the default Web font application—KuroCMS is poised to become the new standard for future personal blogs and small website operations.

If you're interested, be sure to access the official installer site and experience the ultra-fast and comfortable blogging life for yourself!


[Sources]
  1. KuroCMS Official Promotion Page
  2. Cloudflare Workers Documentation
  3. KuroCMS GitHub Repository