◉RORK LABJP
●GPT-6.1 SOL — Added to Rork's model menu (09-29) with Low, Medium and High effort; included on Pro and Max●SONNET 5.5 — Claude Sonnet 5.5 is selectable: strong at UI design and faster than Sonnet 5 (09-28)●SDK 58 — Beta since 09/15 with no stable date yet; running projects in Expo Go has required login since 09/03●WIDGET — A write-up traces an iOS widget that renders black only in production builds●OBSERVE — EAS Observe now records native crashes too (SDK 57.0.21 or later, 10/07)●NEW — My App Open Ad Only Showed When the App…●GPT-6.1 SOL — Added to Rork's model menu (09-29) with Low, Medium and High effort; included on Pro and Max●SONNET 5.5 — Claude Sonnet 5.5 is selectable: strong at UI design and faster than Sonnet 5 (09-28)●SDK 58 — Beta since 09/15 with no stable date yet; running projects in Expo Go has required login since 09/03●WIDGET — A write-up traces an iOS widget that renders black only in production builds●OBSERVE — EAS Observe now records native crashes too (SDK 57.0.21 or later, 10/07)●NEW — My App Open Ad Only Showed When the App…
Articles/App Dev
◇ App Dev/2026-05-05Intermediate

What '16 Person-Days in 2 Hours' Actually Teaches About AI App Development

A widely-shared case study compressed 16 person-days of development into 2 hours. The key wasn't the AI — it was a design doc thorough enough that the AI never had to stop and think. Here's what that means for app development.

app development39AI-driven developmentdesign docsolo development5productivityRork585development efficiency

A post circulated recently: "16 person-days of development, finished in 2 hours." I started reading expecting an impressive story about AI capabilities. But the author kept steering toward a different point entirely.

"It wasn't that the AI was fast. It was that the design doc left nothing for the AI to decide."

That reframing landed hard. For anyone building apps with AI assistance and finding the pace slower than expected, that sentence contains the answer.

AI Is Good at Implementation, Not Judgment

AI coding agents move fast when what to write is clear. They slow down — or stop to ask — when they have to figure out what to do.

In app development, the questions look like this:

AI: What should the error screen show?
AI: Should this data be stored locally or sent to a server?
AI: Which screens require login and which don't?

Answering each of these in real time means spending most of your development session explaining your app to the AI rather than building it. That's AI-driven development without a design doc.

What Changes With a Design Doc

The case study involved a design doc of 3,500 lines across 20 sections. It covered:

  • UI specs and data flow for every screen
  • API endpoints with input/output formats
  • Error handling rules (by error type)
  • An explicit list of what was not being built this phase

That last item — the "out of scope" list — is particularly important. Without it, the AI may generate extra features "just in case" or ask for clarification on things you never intended to build.

A Minimal Design Doc Template for App Development

Here's the minimal template I've found effective when working with Rork and other AI app development tools. It doesn't need to be perfect — it just needs enough information that the AI doesn't have to make decisions.

# [App Name] Design Doc
 
## Scope of this article
- Purpose: (one sentence)
- Target user: (specific)
 
## Screens
1. Home screen: (what's shown, what user can do)
2. Detail screen: 〜
3. Settings screen: 〜
 
## Data Model
- [Entity name]: field list and types
- Storage: Local / Firebase / Supabase
 
## Authentication
- Required: Yes / No
- Method: Email / Social / Anonymous
 
## Navigation
- Home → Detail: (triggering action)
- Detail → Settings: 〜
 
## Error Handling
- Network error: toast notification + retry button
- Empty state: show empty state screen
 
## Out of Scope (not this phase)
- Push notifications
- Internationalization
- Analytics

Fill this template out and the AI's questions nearly disappear.

Applying This to Rork

The same principle applies when using Rork's natural language app creation.

"Build a calorie tracker app" produces something generic. "Build a calorie tracker that logs meals, shows daily totals, saves to Firebase, and has no social features for now" produces something close to what you actually want.

A prompt to Rork is just a design doc in conversational form. The more specific it is, the fewer revision loops you need.

Reducing the Barrier to Writing a Design Doc

"I don't have time to write a design doc" — I understand this objection. I used to feel the same way.

What I do now: have the AI write the design doc first.

[2-3 sentence description of the app you want to build]

Write a design doc for this app using the template below.
Mark anything unclear as TBD.
[paste template]

Review what the AI produces, fill in the TBDs yourself. A usable design doc in 30–60 minutes — much faster than writing from scratch.

The Takeaway

When AI-assisted app development feels slower than it should, the AI is usually being asked to make decisions it shouldn't have to. A design doc isn't a constraint — it's a map that lets the AI move at full speed.

Before your next build, spend 10 minutes drafting a design doc and hand it to the AI. You'll feel the difference immediately.

Share

Thank You for Reading

Rork Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • ✦Copy-paste ready implementation code
  • ✦New advanced guides published daily
  • ✦$5/mo or $10 for lifetime access
View Membership →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

◇ App Dev2026-09-29
Your Expo Router App Flashes the Sign-In Screen on Every Launch. Rebuild the Guard With a Third State: Not Known Yet
Signed in, yet the sign-in screen flashes at launch; signed out, yet the screen never changes. How I rebuilt Expo Router Protected routes around three Supabase auth states, including the one the docs never name, and where the _layout.tsx files have to live.
◇ App Dev2026-09-18
The three lines I check when prebuild stops on the standard SDK 57 Swift AppDelegate error
Turning on ios.enableSceneSupport for iOS 27 can stop prebuild cold. The cause was not my SDK version but the shape of AppDelegate.swift. Here are the three lines to check, and why copying the SDK 58 migration steps by hand will break your build.
◇ App Dev2026-09-16
The Token I Deleted Came Back After a Restart — Detecting Failed SecureStore Deletes
On Android, getItemAsync can report null right after sign-out while the value is still sitting on disk. Here is how I rewrote a sign-out path that was verifying deletion by reading instead of by the delete result.