Field report 02 · Engineering · Pair
Two weeks paired with Vercel. Create React App to Next.js, in production.
DistrictZero's front end moved to Next.js in a two-week embed with Vercel. Twelve of the fixes went into Vercel's public migration skill.
A one-page PDF of this field report.
January 2026 · Dial closed
- Partner
- Vercel
- Paired with
- Tom Occhino, Chief Product Officer
- Role
- Founder, product engineering at DistrictZero
- Stack
- Create React App to Next.js
- Shipped
- Production deploy on Vercel
S1The situation
A live app on a toolchain the React team has since retired.
DistrictZero ran on Create React App. Moving it meant working through legacy errors and libraries that needed refactoring.
S2The one outcome
The real app, live on Next.js, inside two weeks.
Migrate the app rather than rebuild it, and deploy it to production on Vercel.
S3What we built
Paired through every blocker, then wrote them down.
- Jump-off with Vercel leadership
- Legacy libraries and lambda functions
- DNS and environment variables
- 12 lessons, written up for the next team
What carried over
Every pairing should leave something reusable behind.
Here, it was 12 lessons any team making the same move can use. They are now part of Vercel’s public Create React App to Next.js migration skill.
Day 1
Jump-off with Vercel leadership, and a plan for the move.
The two weeks
Pairing through legacy libraries, lambda functions and old errors.
The finish
DNS and environment variables, then the app live on Vercel.
The debrief
What two weeks produced.
Two generous weeks of pairing, and lessons any team can reuse.
- 2 weeksFrom jump-off to a production deploy
- 12Hard-won fixes shared in Vercel's public migration guide
- 800+Installs since, by teams making the same move
In their words
“Working with him and for him has been one of the best experiences I had as a software engineer.”
Senior Software Engineer
Laps · how it got here
Day 1
Jump-off
With Vercel leadership.
Two weeks
Pairing
Libraries, lambdas and legacy errors.
End
Production
DNS, environment variables, and live on Vercel.
After
Shared
12 fixes, now public for everyone.