Case Study · Design & Development

devweb.org

A content platform held to a strict static-output contract — published by the studio's own multi-agent writing fleet.

Site
devweb.org ↗
Status
Live in production
Disciplines
Visual & brand design · Full-stack development · SEO · AI content systems
Stack
Next.js 16 · React 19 · TypeScript · MDX · Zod · next/og · Vercel

The problem

Novadiem needed a credible home for field notes on building with AI agent fleets: a publishing platform that loads fast, ranks, and costs almost nothing to run, where "publish" means adding a file. Every off-the-shelf option wanted a compromise. A hosted CMS comes with a monthly bill and a content model to bend to; a heavier stack puts a database and a server in the request path.

There was a second constraint, less obvious. The site's whole subject is disciplined AI engineering. If it's going to argue for careful systems, the build itself has to be one. It has to survive its own readers.

What was built

A statically-generated content site on Next.js 16 (App Router) and React 19, TypeScript in strict mode, deployed on Vercel. Every route is prerendered at build time — no database, no backend, no API route in the request path. Publishing an article means dropping an MDX file in a folder and pushing to main. No CMS; the push is the deploy.

How it's built

Static by contract, not by accident.

The build follows one rule: every route must be static. That rule is checked, not hoped for. The production build's route table is the contract, and a regression fails the build instead of shipping.

01

Strict static-output contract

Every page, OG image, sitemap and robots route prerenders to static HTML, with zero dynamic server functions. A stray server-side read or an unwrapped client hook trips the route table and fails the build, not production.

02

Zod-validated content spine

One module owns all article data. It globs the MDX, validates every file's frontmatter against a Zod schema, computes reading time, drops drafts, and compiles MDX inside React Server Components. A missing or malformed field fails the build and names the file, so bad content can't ship.

03

Build-time SEO, end to end

Per-article Open Graph cards rendered at build with Satori, JSON-LD for WebSite, Organization and each BlogPosting, generated sitemap and robots, and canonicals resolved from a single base URL. All static, nothing computed per request.

04

No-flash theming, AA both ways

An inline script sets the dark/light toggle before first paint, so the wrong theme never flashes on load. Both palettes hold WCAG AA contrast, code blocks included.

05

Self-hosted, type-only

Fonts served locally through next/font, with no third-party hop, and TTF variants supplied because the OG renderer can't read woff2. The design system is type, rules and CSS; no raster art.

06

Ship by push

Wired to Vercel git deploy: build green on a branch, fast-forward main, push — live. No deploy step, no staging dance. The route table is the gate.

Next.js 16 · React 19 · TypeScript (strict) · MDX (next-mdx-remote) · Zod · remark-gfm · rehype-pretty-code · next/og · Vercel.

On screen

A working developer's terminal, in long form.

Two surfaces in deliberate tension: dark, monospace terminal chrome for the home and index, and the same dark theme given editorial weight on the reading view, with a kicker, a heavy headline, a drop cap, and a pull quote.

devweb.org home page — terminal-style hero with a shell-prompt latest-articles log and a topics tree
$ ls ~/home
devweb.org articles index — filterable list of articles by pillar with monospace metadata
$ ls articles/
devweb.org article reading view — editorial long-form layout with kicker tag, drop cap and pull quote on the dark terminal theme
$ cat article.mdx

What this shows

The platform and the pipeline are the same argument.

The static architecture is careful, conventional engineering, and it's not the interesting part. The interesting part is that the content is produced the way the studio builds software: by a fleet of AI agents. Each article runs a multi-agent pipeline. Agents frame the piece, draft it, cross-check it against a second model, humanize the prose, verify the numbers against the real run that produced them, and proofread it, then commit and deploy on a clean pass. A person sets the topic and holds the veto; the pipeline stops only on a real problem. The rest is automation that ships.

That's what Novadiem sells: model-agnostic LLM orchestration and agentic tooling, running in production on our own property, where you can read the output and judge it for yourself. Disciplined systems built around the model, not a demo of it.

frameworks/ memory/ engineering/
Ω

Want systems like this around your model?

Model-agnostic LLM layers, agentic pipelines, and the web platforms they run on, designed and built from one practice.