Mental model
A prompt is a concise spec written in natural language. The AI builder is a fast engineer who executes specs well but cannot read your mind. The clarity you bring to the prompt determines the quality of what comes back.
The three-phase prompt lifecycle
Every mobile app built with AI moves through three prompt phases. Each phase has its own rules.
- Scaffold — the first prompt that creates the app from nothing. Longest. Most specific about audience, wedge, screens, data, tone, stack.
- Iterate — many short follow-up prompts, one change per message. Name the screen, name the change.
- Refactor — a larger prompt for structural changes. Often better to reset with a fresh prompt than to iterate.
Phase 1: the scaffold prompt
Template — fill in the blanks, nothing more:
[APP TYPE] for [NARROW AUDIENCE]. Core loop: [ONE SENTENCE ON THE WEDGE]. Screens (Expo Router, [NAV TYPE]): - [Screen 1 name]: [primary job] - [Screen 2 name]: [primary job] - [Screen 3 name]: [primary job] - [Screen 4 name]: [primary job] Data ([Supabase + RLS | MMKV | AsyncStorage]): - [table_1] (fields) - [table_2] (fields) - [table_3] (fields) Native features: [push / health / camera / biometric] Visual: [dark | light] theme, [ACCENT] accent color, [TYPOGRAPHY MOOD]. [NAV TYPE] navigation.
150–300 words is the sweet spot. Shorter = generic output. Longer = model juggles too much. Use the idea-to-prompt translation framework to fill in each slot.
Phase 2: iterate prompts
Short, surgical. One change per message. Templates:
- UI change: “On [Screen], [specific change]. Keep the rest unchanged.”
- Add feature: “Add [feature] to [Screen]. Data goes in [existing table]. [Constraint].”
- Fix: “On [Screen], [observed problem]. Expected: [behavior].”
- Copy change: “Replace [old text] with [new text] on [Screen].”
Rules: (1) always name the screen, (2) never batch changes, (3) preserve context by naming what to keep, (4) reference visible elements (“the orange button”) not abstract ones (“the CTA”).
Phase 3: refactor (usually a reset)
When structural changes are needed — switching auth providers, changing navigation type, migrating data stores — iteration compounds bad decisions. Better to start a fresh prompt with what you learned:
[SAME SCAFFOLD PROMPT as Phase 1], with these structural changes from v1: - Switch auth from [old] to [new] - Migrate data from [old] to [new] - Change navigation from [old] to [new] - [other structural shift] Retain: [what must stay the same].
Reset vs iterate: the heuristic
| Change type | Action |
|---|---|
| Color, copy, one-screen layout | Iterate |
| Add or remove one screen | Iterate |
| Add a new data field to an existing table | Iterate |
| Switch navigation type (tabs → drawer) | Reset |
| Change auth provider | Reset |
| Migrate styling library | Reset |
| Output has been compounding regressions | Reset |
Anti-patterns that tank output
- Vibe words (“revolutionary,” “elegant,” “world-class”).
- Listing every future feature in the scaffold prompt.
- Batching 5 changes in a single iteration message.
- Referring to abstract elements (“the main action”) instead of visible ones.
- Mixing styling libraries or auth providers across iterations.
- No data shape — you get mock arrays instead of real scaffolding.
- Skipping the reset when iteration is obviously compounding damage.
Build your own prompt library
Save every strong prompt you write. Organize by app type. After 6–12 months, you will have a personal library that compresses new-app starting time from an hour to minutes.
- Folder in Notion, Obsidian, or a plain directory.
- One file per app type (habit, marketplace, dating, SaaS...).
- Include the scaffold prompt, 3–5 iteration examples that worked, and notes on common failure modes.
- For starters, see Best Prompts for Generating iOS Apps with AI and MVP 24-Hour Prompt Pack.
The compounding payoff
Founders who treat prompts as a craft ship 3–5x more apps per year than founders who improvise each time. Prompt engineering is not magic; it is a discipline. Pick the framework, write the templates, reuse them, refine over time. Every app you ship makes the next one faster. Start by generating your next app in ShipNative with a scaffold prompt that follows the template above.