How I Ship Like a Team of Five
SportStrata is a broadcast-grade sports analytics platform — live scorecards, Statcast leaderboards, a fantasy mock-draft simulator, 13 themes, and an edge-cached API layer. I built it alone. Here's the AI workflow that made that possible.
The problem
A solo developer's real bottleneck isn't writing code — it's everything a team normally provides around the code: design review, UX audits, security checks, documentation discipline, and someone to tell you your idea is bad before you build it. Working alone, those functions silently disappear, and the product develops what one of my own reviewers later called a "vibe-coded" feel — good surfaces connected by seams nobody designed.
So instead of pretending I could be five people, I built five people.
The team
Each persona is a specialized AI agent with a defined mandate, a consistent voice, and standing authority to push back on me. They review the live product, write findings documents into the repo, and their work is versioned alongside the code.
"The product's designed surfaces are genuinely good — but the connective tissue between them was never designed at all, and that connective tissue is where the 'vibe-coded' feeling lives." — Kael + Vera, Design & UX Review, July 2026 (versioned in the repo)
The system that makes it work
Personas alone are theater. What makes this a workflow is the infrastructure underneath them:
A project constitution
A living CLAUDE.md defines architecture, load order, code style, security rules, and response standards — including "push back on bad premises" and "take a position." Every AI session starts from the same shared reality.
A numbered decision log
DECISIONS.md records every architectural choice as a citable entry (D-012, D-034…). Reviews reference decisions by number, so scope disputes get settled by the log, not by memory.
Live product audits, written to the repo
Personas audit the deployed site — not the code — and file findings docs with severity, root cause, and an owner-assigned execution plan. Observed, not inferred: every finding comes with reproduction steps.
Automated quality gates
A custom /deploy-check command validates unit tests, CSP consistency, asset-manifest sync, theme contrast, and secrets hygiene before any push. Slash commands like /security-review and /simplify make review cycles one keystroke.
Docs that can't drift
The doc-sync rule means the constitution is updated in the same commit as the change it describes. The next session — human or AI — never inherits stale instructions.
What it produced
A no-login analytics platform serving broadcast professionals and fantasy players: an interactive play-by-play scorecard with live polling, Statcast percentile cards, printable game-prep sheets, a Monte Carlo mock-draft simulator, AI-generated broadcast narratives via an Anthropic-powered Worker, and a D1 edge cache in front of every API — all in dependency-free vanilla JavaScript.
More important than any feature: the workflow catches what solo developers structurally can't. A theme-contrast checker that passed a visually broken theme got called out and tightened by the design persona. A "Storage Disabled" toast that cried wolf was flagged as trust erosion by the UX persona. That's the kind of finding that normally requires a second pair of eyes — and I built a bench of them.
"Every finding in Part 1 is a user mid-task hitting a wall we built. Fix the walls before we repaint anything." — Vera, UX findings, July 2026
This is the skill I bring to a team: not just writing code with AI, but engineering the process around AI — constitutions, decision logs, review gates, and personas with standing to say no. It multiplies one developer today; it multiplies a team tomorrow.
See it live: the product this workflow built, and the repo where the reviews are versioned.