Part of: AI coding crash course · Matt Pocock
svoboda.page
This site: a bilingual presentation built test-first with AI agents.
- React
- TypeScript
- TanStack Start
- Tailwind CSS
Context and problem
Recruiters give a junior candidate only seconds, and a CV alone doesn't show how I think or how I work with AI agents. I wanted one place that tells my path from surveying to frontend and shows what I have built.
My role and stack
Everything, from the spec to the deployment: React, TypeScript, TanStack Start, Tailwind CSS with shadcn/ui, Zod and Vitest, hosted on Cloudflare Workers.
Key decisions
All content lives as typed files in the repo, checked by a schema, so there is no CMS to maintain. Every page is prerendered to static HTML in both languages. The build fails when a text is missing in one language, so a half-translated site can't ship.
A problem I hit and how I solved it
Project cards linked to Case Study pages before those pages existed, which broke the prerender. I excluded those links from prerendering until the pages were built, with a TODO pointing at the ticket that removes the exclusion.
Result
A fast, bilingual site where adding a Project means adding one file. CI checks types, lint, tests and the full build on every push.
How I used AI
I planned the site with an AI agent: it questioned my plan, then we wrote a spec, split it into tickets and recorded decisions as ADRs. Agents implemented the tickets test-first, and I reviewed every change before merging.
What I'd do differently
I would gather the real content earlier, so the design could be shaped around it instead of placeholders.