Stack Families

Stack families are product shapes with different operational costs. Pick the family first, then pick the framework.

Family Taxonomy

FamilyUse whenAvoid whenStarter shape
Static/contentThe app is mostly pages, reports, docs, or generated snapshotsUsers need per-request personalization, auth, sessions, or write APIsAstro/static site, static assets, private preview route
Web/PWABrowser APIs satisfy the product and install/offline helpsRestricted permissions or reliable native background work are coreWeb app, manifest, service worker, IndexedDB/cache plan
Native mobileOne mobile platform’s permissions, UX, or performance dominateYou need equal Android+iOS launch without deep native behaviorKotlin Compose or SwiftUI, local DB, platform tests
Cross-platform mobileAndroid and iOS both matter and native needs are standardOne platform requires deep custom native workExpo/React Native or Flutter with native escape hatches
Desktop shellLocal files, OS windows, tray/menu, sidecars, or offline desktop UX matterA browser/PWA gives enough UX and distributionTauri/Electron/Wails/Windows App SDK, local storage, updater plan
CLIThe product is automation or developer workflowNon-technical users need visual flowsLibrary core, CLI commands, shell completions, package distribution
Backend/APIShared state, auth, payments, jobs, integrations, or server trust are requiredLocal/static can meet the v1 promiseAPI, DB, migrations, job runner, health checks, thin UI
AI-nativeAI tools/data/workflows are the product architectureAI is just a chat box or summarization featureMCP/tool layer, workspace isolation, sandboxing, audit logs

What Each Family Optimizes

FamilyOptimizes forPays with
Static/contentspeed, cheap hosting, simple opslimited runtime behavior
Web/PWAreach, iteration speed, low install frictionbrowser compatibility and API limits
Native mobileplatform trust, APIs, performancestore policy, device testing, platform-specific work
Cross-platform mobileshared app deliveryabstraction leaks and native escape-hatch work
Desktop shelllocal power and GUI reachpackaging, signing, update channels
CLIsmall surface and composabilitynarrower audience
Backend/APIshared trust and coordinationongoing ops, security, migrations
AI-nativetool/data integration and agent workflowssecurity, sandboxing, context, audit complexity