Choose A Stack
Answer these ten questions before picking a framework.
Intake Checklist
1. What is the product in one sentence?
2. Who uses it first: public users, internal users, developers, or only me?
3. Where must it run on day one: browser, Android, iOS, Windows, macOS, Linux, terminal, server, AI client?
4. Which platform APIs are required for the core value?
5. Does the app need offline-first behavior or local data ownership?
6. Does it need shared state, accounts, payments, admin roles, or integrations?
7. How will users install or access it?
8. What release-build proof is required before calling v1 done?
9. Which stack would be easiest to leave later?
10. What is the smallest stack that satisfies the non-negotiables?
Quick Decision Rules
| If you answer… | Start with… |
|---|---|
| ”It is a doc/report/prototype” | Static Astro or static web |
| ”It just needs forms, lists, auth later, maybe offline” | Web/PWA |
| ”It needs SMS, deep Android APIs, or Play permission policy” | Android native with Kotlin Compose |
| ”It must launch Android and iOS together” | Expo/React Native first, Flutter if custom UI dominates |
| ”It is a Windows-only desktop product” | Windows App SDK + WinUI 3 |
| ”It is a small cross-platform desktop utility” | Tauri 2 |
| ”It needs Chromium consistency or Node desktop ecosystem” | Electron |
| ”It is for automation or developers” | CLI |
| ”Users share data or need accounts/payments/jobs” | Backend/API |
| ”Tools, MCP, local models, or sandboxed agent execution are central” | AI-native stack |
Output
Write this after the checklist:
Recommended stack family:
Specific default:
Why this is the smallest correct stack:
Avoided alternatives:
First proof command or manual gate:
Follow-up capability pack needed: