YAML → beautiful sites

kazam

One Rust binary. No framework, no npm, no runtime JS. Designed so AI agents can author your site end-to-end.

Why

Markdown isn't enough. Next.js is too much.

Markdown is too simple

Plain pages — grey text on white, no cards, no badges, no interactive tables. Fine for a blog post, wastes what the web can do.

Next.js is too heavy

A thousand-package npm tree, a webpack build, a client runtime, and a supply chain you'll never audit — for a site that renders static content.

kazam is the middle path

Typed YAML components, LLM-friendly schema, themed output. Ships as pure HTML and CSS. One Rust binary.

Beyond docs

If it's a structured artifact, kazam makes it.

Slide decks, one-page briefs, landing pages, internal dashboards, API references — all the structured artifacts a team produces in a week, from the same typed components. The format LLMs generate correctly; the output you actually ship.

Agents can produce it

Hand Claude a brief and get a populated deck, one-pager, or landing page back — edit-ready.

Output is the deliverable

The HTML kazam writes is the HTML you ship. No PNG export, no CSS shim.

Git-versionable

Every change is a diff in a PR. Review design the way you review code.

30 seconds

This YAML…

title: Q2 Pipeline Review
shell: standard

components:
  - type: header
    title: Q2 Pipeline Review
    subtitle: Three active opportunities

  - type: stat_grid
    columns: 3
    stats:
      - label: Total ACV
        value: $1.2M
        color: green
      - label: Weighted
        value: $480K
        color: default
      - label: At risk
        value: $200K
        color: yellow

…renders to this:

Q2 Pipeline Review

Three active opportunities

Total ACV
$1.2M
Weighted
$480K
At risk
$200K
Use cases

What to build with it

Documentation sites

standard

API refs, guides, onboarding docs. Tabs for code samples, sortable tables for references.

API references

standard

OpenAPI-style endpoint docs — request/response, parameters, code samples — without the Scalar/Stoplight/Redoc runtime. All from YAML.

Internal KBs & wikis

standard

Handbooks, runbooks, service catalogs. Card grids for navigation, tables for operational data.

Meeting agendas & briefs

document

One-pagers and pre-reads. Centered card layout, print-optimized, exports clean to PDF.

Decks & presentations

deck

QBRs, strategy reviews, pitch decks. Full-viewport slides with keyboard nav and PDF export.

Landing pages

standard

Hero, features, stats, CTA — all native components. Not its specialty, but it ships one fine.

Dashboards from APIs

pattern

Scripts emit YAML, kazam renders. Live data from HN, GitHub, Linear, Sheets, or any JSON endpoint.

Fit

Is this the right tool for what you're building?

kazam is narrow on purpose. It replaces the toolchain around static content — docs, references, internal pages, decks, briefs. It's not a replacement for a real web app framework. Here's the honest line.

Use caseWhy it fits
Documentation sites & API referencesStructured content, client-side table filter/sort, themed output. What kazam was built for.
Personal sites & portfoliosLow interactivity, SEO-friendly static HTML. The tool's author replaced their CRA site this way.
Internal KBs, runbooks, handbooksYAML in git = reviewable in PRs. Card grids and tables cover most navigation patterns.
Pitch decks, QBRs, strategy reviews`shell: deck` gives full-viewport slides with keyboard nav and clean PDF export.
Meeting agendas, briefs, one-pagers`shell: document` centers a printable card. Exports cleanly to PDF.
Build-time dashboardsCron a script that emits YAML from your API, rebuild, deploy. Live-ish data, zero runtime.
Simple landing pagesHero, features, stats, CTA — all native components. Not its specialty, but it ships one fine.
Use caseReach for instead
Apps with logged-in state or user accountsNext.js, Remix, Rails, Django — kazam has no auth, no sessions, no server.
E-commerce checkout & paymentsShopify, or a real app framework with a backend.
Real-time feeds, chat, collaborative editingAnything with a websocket. Static output can't push.
CMSes for non-technical authorsNotion, Sanity, Contentful. Authoring kazam content means editing YAML in git.
Per-request personalized pagesNext.js / Remix SSR. kazam builds once, serves the same bytes to everyone.
Rich client-side SPAs & admin dashboardsReact / Vue / Svelte. kazam emits zero JS by design.
Blogs with comments or user-generated contentGhost, WordPress, or any app with a real backend. A read-only blog is fine.
Read more

Two ways in

60-second quickstart

`cargo install`, `kazam init`, `kazam dev`. You're live on localhost before your coffee's cold.

Full tour

How pages are shaped — shells, components, and a full kazam.yaml. Copy-paste starting points for your first real page.