// overview

What BlockNinja is

BlockNinja is a block-based CMS built for developers and content teams who need more than page editing. It handles structured data, real-time collaboration, custom plugins, and multi-site management out of the box.

The admin interface runs in the browser. The public site renders server-side from Go templates. Everything is composable: blocks snap together to form pages, plugins extend the system without touching the core, and the whole stack runs on a single binary.

We built it because the existing options either did too little or tried to do everything at once. Static site generators punt on structured content. Enterprise CMS platforms take weeks to configure. We wanted something in between: powerful enough to build real applications, simple enough to ship a marketing site in an afternoon.

// blocks

The block model

Every page in BlockNinja is a stack of blocks. Each block is an independent unit with its own data, template, and editor. You can rearrange them, swap them between pages, or build entirely new ones through the plugin system.

This works differently from template-based systems where the layout is decided upfront and content fills the gaps. In BlockNinja, the content defines the layout. You place a hero block, then a feature grid, then a contact form. The page becomes whatever you put on it.

Master pages handle shared elements like navigation and footers. Your page blocks fill the content slots in between. When you need a new page, you pick the blocks you want and start writing. No theme shopping, no layout wrestling.

// data

Structured data, built in

Most CMS platforms stop at pages and posts. When you need structured data like a product catalogue, event listing, team directory, or job board, you end up integrating a third-party service or building it yourself.

BlockNinja has a data engine in the core. You define a schema, import records via CSV or webhook, query them with buckets, and render the results directly in blocks. The same infrastructure that runs your blog can run your inventory system or client portal.

This is what makes BlockNinja useful beyond marketing sites. If you can model the data, you can build the application. Pages are just one shape your data can take.

// plugins

Built to extend

The core CMS stays lean on purpose. Custom blocks, templates, routes, database migrations, and theme presets all ship as plugins loaded at runtime. The plugin SDK handles the wiring. You write the features.

Plugins compile as Go shared objects or bundle directly into the binary. Either way, they are isolated from each other and from the core. When a feature is no longer needed, you unload it. No surgery on the main codebase.

This architecture is what lets BlockNinja power a personal blog and an enterprise dashboard with the same binary. The plugins you load are what make each deployment different.

// ai

AI that assists

BlockNinja ships with AI tools for content drafting, image alt text generation, meta description suggestions, and content summarization. They run inline in the block editor. Every output is a suggestion you can keep, edit, or discard.

Nothing publishes without a human decision. The AI helps you work faster on the parts that benefit from a first draft or a second opinion. You stay in control of what goes live.