Back
Back
AI WORKFLOW
AI WORKFLOW
How two people built it in three days.
How two people built it in three days.
AI made the production possible. It did not make the decisions. This is the honest split between the two.
AI made the production possible. It did not make the decisions. This is the honest split between the two.
SPRINT
SPRINT
3 days of production
3 days of production
TEAM
TEAM
2 people, working in parallel
2 people, working in parallel
REPO
REPO
1, deployed to 3 platforms
1, deployed to 3 platforms
PROJECT
PROJECT
2 weeks end to end
2 weeks end to end
01
01
Three days was the whole build.
Three days was the whole build.
The concept had already survived two weeks of design iteration. What we did not know was whether it would survive being built.
The concept had already survived two weeks of design iteration. What we did not know was whether it would survive being built.
3
3
DAYS
DAYS
of production, inside a two-week project.
of production, inside a two-week project.
2
2
PEOPLE
PEOPLE
no engineers outside the two of us.
no engineers outside the two of us.
1
1
WORKING PROTOTYPE
WORKING PROTOTYPE
running on real phones, not a prototype link.
running on real phones, not a prototype link.
02
02
Three tracks, running at once.
Three tracks, running at once.
Nobody waited for anybody. The only way three days works is if the two of us are never blocked on each other.
Nobody waited for anybody. The only way three days works is if the two of us are never blocked on each other.
01
01
Digvijay
Digvijay
BUILD & DEVELOP
BUILD & DEVELOP
Interaction implementation, game mechanics, 3D integration, camera direction, debugging and deployment.
Interaction implementation, game mechanics, 3D integration, camera direction, debugging and deployment.
PROMPT → BUILD → DEBUG
PROMPT → BUILD → DEBUG
02
02
Vibha
Vibha
ASSETS, UI AUDIT & VISUAL DIRECTION
ASSETS, UI AUDIT & VISUAL DIRECTION
3D asset generation, Blinkit reference study, visual QA, spotting UI inconsistencies, design fidelity.
3D asset generation, Blinkit reference study, visual QA, spotting UI inconsistencies, design fidelity.
PROMPT → REFINE → ITERATE
PROMPT → REFINE → ITERATE
03
03
Both
Both
TEST, DEPLOY & LEARN
TEST, DEPLOY & LEARN
One repository pushed to three hosts, to see which handled the build best outside the design file.
One repository pushed to three hosts, to see which handled the build best outside the design file.
SAME REPO · 3 PLATFORMS · REAL LEARNINGS
SAME REPO · 3 PLATFORMS · REAL LEARNINGS
DAY 1
DAY 1
DAY 2
DAY 2
DAY 3
DAY 3
BUILD & DEVELOP
BUILD & DEVELOP
prompt → build → debug
prompt → build → debug
ASSETS & UI AUDIT
ASSETS & UI AUDIT
prompt → refine → iterate
prompt → refine → iterate
TEST & DEPLOY
TEST & DEPLOY
same repo → 3 platforms
same repo → 3 platforms
No lane waited for another. That is the only reason three days was enough.
No lane waited for another. That is the only reason three days was enough.
Parallel work turned a three-day constraint into the production strategy.
Parallel work turned a three-day constraint into the production strategy.
03
03
The loop, and where it actually cost time.
The loop, and where it actually cost time.
Prompting was the fast part. Checking what came back was not.
Prompting was the fast part. Checking what came back was not.
REFERENCE
REFERENCE
→
→
PROMPT
PROMPT
→
→
BUILD
BUILD
→
→
AUDIT
AUDIT
→
→
CORRECT
CORRECT
→
→
REPEAT
REPEAT
The two highlighted steps are where the days went. Generating a screen took minutes. Checking it against the real Blinkit app, finding the one wrong shade or the four-pixel gap, and sending it back took the rest.
The two highlighted steps are where the days went. Generating a screen took minutes. Checking it against the real Blinkit app, finding the one wrong shade or the four-pixel gap, and sending it back took the rest.


04
04
No public design system to build from.
No public design system to build from.
Blinkit does not publish one. So every surface had to be matched by eye, against the real app, one screen at a time.
Blinkit does not publish one. So every surface had to be matched by eye, against the real app, one screen at a time.
WHAT WE COULD NOT DO
WHAT WE COULD NOT DO
Import a library, pull a token set, or trust a generated component to be correct by default.
Import a library, pull a token set, or trust a generated component to be correct by default.
WHAT WE DID INSTEAD
WHAT WE DID INSTEAD
Screenshotted the real app, sampled the exact hex values, and audited every screen we generated against it.
Screenshotted the real app, sampled the exact hex values, and audited every screen we generated against it.
Hundreds of audits, and a few million tokens.
Hundreds of audits, and a few million tokens.
05
05
What the model did, and what we did.
What the model did, and what we did.
This is the part that usually gets blurred. It should not be.
This is the part that usually gets blurred. It should not be.

CLAUDE
CLAUDE
US
US
Wrote and refactored implementation code
Wrote and refactored implementation code
→
→
Decided what the interaction should feel like
Decided what the interaction should feel like
Debugged the three-dimensional maths we got wrong
Debugged the three-dimensional maths we got wrong
→
→
Chose the camera angle for every beat of the race
Chose the camera angle for every beat of the race
Generated and converted 3D assets
Generated and converted 3D assets
→
→
Judged whether an asset read as a Hot Wheels car
Judged whether an asset read as a Hot Wheels car
Produced screens quickly enough to compare options
Produced screens quickly enough to compare options
→
→
Picked which option shipped
Picked which option shipped
Suggested structure for the campaign flow
Suggested structure for the campaign flow
→
→
Cut it from seven screens to three
Cut it from seven screens to three
Never saw the real Blinkit app
Never saw the real Blinkit app
→
→
Audited every screen against it by hand
Audited every screen against it by hand
AI accelerated production.
AI accelerated production.
Design judgement stayed with us.
Design judgement stayed with us.
06
06
What it actually runs on.
What it actually runs on.
Taken from the repository, not from a slide. The race is real code, not a prototype link.
Taken from the repository, not from a slide. The race is real code, not a prototype link.

React
React
The app shell, routing and every screen outside the race.
The app shell, routing and every screen outside the race.

TypeScript
TypeScript
Types across the whole build, including the race engine.
Types across the whole build, including the race engine.
Three.js
Three.js
The circuit, the car, the pickups and the camera.
The circuit, the car, the pickups and the camera.

WebXR / WebGL
WebXR / WebGL
The AR session, and the 3D fallback when AR is missing.
The AR session, and the 3D fallback when AR is missing.

Vite
Vite
The dev server during the sprint and the production build.
The dev server during the sprint and the production build.
R
R
Rapier
Rapier
Physics for the car, the jumps and the debris.
Physics for the car, the jumps and the debris.
07
07
One repository, three hosts.
One repository, three hosts.
We deployed the same build three ways to find out what changed once it left the design file.
We deployed the same build three ways to find out what changed once it left the design file.
ONE REPOSITORY
ONE REPOSITORY
↓
↓
↓
↓
↓
↓
Vercel
Vercel
The fastest path to a live URL, and where the build settings bit first.
The fastest path to a live URL, and where the build settings bit first.
Netlify
Netlify
Where the AR route was tested most, on real phones over HTTPS.
Where the AR route was tested most, on real phones over HTTPS.
Cloudflare
Cloudflare
Where the same repo ran as a Worker, with different asset handling.
Where the same repo ran as a Worker, with different asset handling.
Same repository, three platforms, real learnings. AR needs HTTPS and a real device, and none of that shows up in a design file.
Same repository, three platforms, real learnings. AR needs HTTPS and a real device, and none of that shows up in a design file.
08
08
What we would do differently.
What we would do differently.
Three days produced a working build. It also produced habits worth fixing.
Three days produced a working build. It also produced habits worth fixing.
01
01
Sample the reference first, not on the third pass
Sample the reference first, not on the third pass
We lost time correcting shades we could have measured on day one.
We lost time correcting shades we could have measured on day one.
02
02
Write the audit checklist before generating
Write the audit checklist before generating
Auditing ad hoc is what made the loop expensive.
Auditing ad hoc is what made the loop expensive.
03
03
Test on a real device earlier
Test on a real device earlier
Everything about AR that surprised us only surprises you on hardware.
Everything about AR that surprised us only surprises you on hardware.
04
04
Decide the scope cut before building it
Decide the scope cut before building it
We built seven screens and then removed four. The cut could have come first.
We built seven screens and then removed four. The cut could have come first.
Claude alone did not design this.
Claude alone did not design this.
We did. It just let two people work like five.
We did. It just let two people work like five.