Philosophy
Software you can still trust in ten years
Chinaski is built on a small set of convictions about how web software should age: slowly, predictably, and under your control.
View on GitHubWhat we believe
Software should age slowly
The best code is code you can still read in ten years. Chinaski uses a runtime and a templating system that have been stable for decades, and adds as few dependencies as possible.
Operators should own their stack
When you self-host, you control upgrades, data, and continuity. No SaaS vendor can deprecate your site, change their pricing, or go out of business and take your content with them.
Static output is the right default
A file server is the most reliable, most scalable, and most secure way to serve a website. Dynamic rendering should only exist where it's genuinely needed.
The principles in practice
On dependency count
Chinaski has nine production dependencies, all available in Debian stable. Every dependency is a liability — something that can break, change its API, or be abandoned. Nine is a number you can audit.
On JavaScript
Public output contains no JavaScript by default. JavaScript in production is a maintenance burden, a security surface, and a performance cost. Pages that don't need it shouldn't have it.
On upgrades
Software that forces you to upgrade on someone else's schedule has taken partial control of your operations. Chinaski is designed so that a version from three years ago still works, and an upgrade is a choice, not a requirement.
On simplicity
Complexity is where bugs live. Every abstraction layer, every framework, every configuration file is a surface that can fail. Chinaski keeps its internals small enough to be understood by a single person in an afternoon.
Read more about the project
Complete setup, theming, and API documentation lives at docs.chinaski.net.
Read the documentation