Why JSON?
Because content is data, not code. Define your design tokens, your pages, and your posts as plain JSON. The generator does the rest — composing blocks, applying themes, emitting clean HTML.
Use any tool to write the JSON: a CMS, a script, an LLM, an editor. The generator doesn't care.
Composable
Block-based pages
Each page is a list of typed blocks. Adding a new block type = one render function.
Themeable
Design tokens
Define colours, fonts, spacing, radius, shadows once. Every block consumes them via CSS vars.
Responsive
Grids that work
Named layouts define column counts per breakpoint. Mobile, tablet, desktop, extra-large.
Skinnable
Color schemes
Section opts into a scheme — every nested element re-skins automatically.
Ada Lovelace
Founding contributor. Talks about JSON schemas more than is healthy.
Alan Turing
Wrote the test suite. Also makes excellent tea.
Grace Hopper
Maintainer. Famously says: 'It's easier to ask forgiveness than permission.'
Make the easy thing the right thing. — Old design adage