ZombieVault·Side Build · Spec-first AI developmentLive

I wrote a 900-line brief. An AI built the product. I directed everything in between.

897
Line spec I wrote
4 hrs
To ship
12
Pages built
Live
zombievault.vercel.app

ZombieVault catalogues 33 zombie universes — movies, TV, games, books, comics — with survival tools, quizzes, a turn-based simulator, and data charts. I designed the product from scratch, wrote the complete specification, directed the build, tested it, and shipped it. This is a writeup of how I thought through it and what the process actually looked like.

A deliberately silly project for a serious test.

I wanted to test something specific: can a designer write a complete enough product brief that an AI coding agent builds the whole thing without being micromanaged? The zombie subject matter was intentional — real scope, zero professional stakes. A proper multi-feature web application: database, detail pages, interactive tools, data charts, a design system.

If the methodology works here, it works anywhere. The live product is at zombievault.vercel.app.

ZombieVault — home page with pixel art hero, live stats, and featured universe card
The product existed on paper before a single line of code was written.

Before anything was built, I spent time with Claude designing the full specification — every feature, every data structure, every page, every design decision written into a single document. Not a mood board. Not a list of screens. A complete product brief with enough precision that nothing would need to be invented during the build.

The hypothesis: the quality of what gets built is determined entirely by the quality of what gets specified. Vague brief → vague product. Complete brief → working software.

The decisions that went into the spec were design decisions, not technical ones:

01
Data schema
What does each zombie universe actually need to be useful — not just a list of titles? I designed 35+ fields per entry: origin type, zombie traits, spread mechanism, incubation period, survivability ratings, best weapons, worst mistakes, safe and unsafe locations. Rich enough to power comparisons, a classifier, and charts.
02
Feature decisions
What makes this a tool rather than just a database? Three quizzes (universe match, survivor archetype, branching scenario), a turn-based 30-day outbreak simulator with resource management, a zombie type classifier, and a head-to-head comparison tool. Each feature had to run on the client — no backend — which shaped what was feasible.
03
Design system
Pixel art / 16-bit retro — immediately recognisable, distinct from every other portfolio project. Press Start 2P and VT323 fonts, a CRT scanline overlay, glitch text animation, pixel sprite SVGs. All built in CSS — no images required. The aesthetic needed to feel intentional, not random.
04
12 page specifications
Every page written out with its content requirements, component behaviour, and interaction logic: Home, Vault (searchable grid), Entry Detail, Survival Guide, Classifier, Quizzes, Simulator, Compare, Timeline, Origins, Stats, and a 404. Nothing left to be figured out during the build.
ZombieVault — The Vault page showing 33 zombie universes in a searchable, filterable grid
One message to start. Then: use it, find what's wrong, describe it clearly.

I handed the spec to Claude Code with a single instruction: “start building.” The spec did the rest. There was no back-and-forth about what features to include, what the data should look like, or what the pages needed to show. Those decisions had already been made.

My role from that point was to be the user. Open every page. Try every interaction. Notice what looked wrong or felt off. Describe it specifically enough that it could be fixed.

ZombieVault — Entry detail page showing origin story, radar chart threat profile, ratings, and survival analysis
Five things were wrong. I found all five by using the product.

None of these required technical knowledge to spot. They required paying attention.

Blank pageSurvival Guide

Navigating to the Survival Guide showed a completely blank page. Something had broken silently — the page wasn't loading at all.

What I said — “The Survival Guide page is blank. Nothing renders.” Root cause was found and fixed. Page loaded correctly.
Broken scoreCompare page

The Compare page showed a nonsense value instead of Universe B's score. The number was clearly wrong — not a design choice, a mistake.

What I said — “Universe B's score is displaying incorrectly on the Compare page.” Fixed.
Hero buriedHome page

The home page hero was a massive wall of pixel art. The title — the most important thing on the page — was pushed below the fold. The cityscape had taken over the entire viewport.

What I said — “The home page hero feels like a static image that is way too long. The title isn't visible without scrolling.” The cityscape was restructured into a compact decorative strip. The title now leads.
Wrong nav on desktopNavigation

On desktop, the mobile hamburger menu was visible alongside the full navigation. Both were showing simultaneously — which meant neither was right.

What I said — “On desktop the hamburger menu is showing when it shouldn't be.” Fixed with a proper responsive breakpoint.
First deploy failedVercel

The site deployed successfully to a local preview but failed when pushed live. Something that worked in development didn't pass the stricter production check.

What I said — “The Vercel deployment failed. Can you check what's different between the local build and production?” All issues were identified and fixed. Second deployment succeeded.
ZombieVault — Outbreak Simulator mid-game showing resource bars, day counter, and event decision choices
Writing the spec is the design work. Everything else is execution.

The part of this project that required skill wasn't the build — it was the brief. Deciding what data a zombie universe needs for survival analysis, what features make it a tool instead of a database, how 12 pages should relate to each other, what the design system should feel like. That's product thinking. The spec is where it lived.

What I take from this into real product work:

  • Front-load the thinking. An AI coding agent doesn't fill gaps in requirements — it makes them up. The only way to control the output is to eliminate the gaps before the build starts. This is the same discipline as writing a tight design brief for a developer.
  • The designer's job doesn't end at handoff. Using the product seriously, with fresh eyes, is where the real quality control happens. Five things were wrong that wouldn't have been caught any other way.
  • Directing is a skill. “The hero is too tall and the title isn't visible” is more useful than “the layout doesn't look right.” Specific descriptions produce specific fixes.

“I didn't write the code. I wrote the brief that made the code possible — and I used the product seriously enough to make it good.”

Spec-firstAI-directed buildProduct designSide buildApril 2026