Aug 7, 2026
Earlier this month we shipped Reshoot, a full rewrite of Cameo’s consumer marketplace, and one of the projects I’m proudest of leading.
I rejoined Cameo after a year away, returning to a company I’d spent 5 years at. My mandate was clear: integrate AI into how the team builds software. What I found when I got back was a codebase that needed a different kind of intervention first.
Both the old and new sites are React, so this was never about switching frameworks for the sake of it. The real story is everything underneath.
We were running on a homegrown SSR setup that had quietly accumulated 9 years of technical debt: 3 competing design systems from an incomplete migration, 4 different data-fetching patterns coexisting (Redux thunks, React Query, URQL, Algolia InstantSearch), a 3-pass render pipeline where fetch and render were completely inseparable, and React 17 locked in place because everything was coupled to it. Our p95 TTFB was 1-2 seconds, and we had no visibility into why.
Then AI tools arrived and made engineers faster, at writing code in a broken architecture. Features were shipping, but the overall process wasn’t getting meaningfully faster. We were accelerating the architecture drift.
So we stopped and rebuilt the foundation. Hono replaced the Express monolith. React Router 7 with streaming replaced the 3-pass rendering pipeline. Tailwind + base-ui replaced 3 competing CSS-in-JS design systems. But the bigger unlock wasn’t the tech swap, it was making the codebase legible again, for humans and AI agents alike.
We pre-filled every AI context window with our business domain: entity relationships, canonical terms, “avoid” directives for overloaded words, and flagged ambiguities where the API diverges from the domain model. DDD isn’t new, but applying it as context injection for agents eliminated an entire category of correction loops.
Then we codified architecture as executable rules: hydration-proof, leak-proof, concurrent-proof, server-proof, component patterns, hooks, state and data flow, anti-patterns. Each file tells both engineers and AI what correct looks like. By week 4, even major flow PRs that initially needed ~15 architectural comments were arriving with 2-3 at most.
What we shipped in numbers:
- p95 TTFB: ~1.5s down to ~550ms (API completely untouched, same CDN)
- React render time: ~300ms down to ~7-12ms
- Full consumer marketplace rebuilt in under 3 months
This would have realistically taken 12 months before AI coding assistants. With our coding agents and a clear architecture for it to amplify, a small team did it in under 3. We didn’t move fast and break things. We engineered the engineering first, then let AI amplify those decisions at scale.
The AI didn’t rebuild our marketplace. We did.