{"@context":"https://ihatereading.in/roadmap/schema/v1","type":"roadmap-index","slug":"vibe-coding-mobile-app-development","title":"Vibe Coding Mobile App Roadmap (Expo, Tailwind & AI Agents)","description":"Build mobile apps from scratch with Cursor, Claude Code and Codex — Expo, Tailwind (NativeWind), screens, state, on-device storage, Supabase/PostgreSQL/Firebase/Turso, testing, releases, and copy-paste prompts and skills for every step.","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development.json","chapters":[{"slug":"vibe-coding-foundations","title":"Vibe Coding Foundations & the Agentic Workflow","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/vibe-coding-foundations","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/vibe-coding-foundations.json","hasStructuredUnits":true,"children":[{"slug":"cursor","title":"Cursor for Mobile App Building","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/vibe-coding-foundations/cursor","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/vibe-coding-foundations/cursor.json","hasStructuredUnits":false},{"slug":"claude-code","title":"Claude Code for Mobile App Building","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/vibe-coding-foundations/claude-code","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/vibe-coding-foundations/claude-code.json","hasStructuredUnits":false},{"slug":"codex-and-agents-md","title":"Codex, AGENTS.md & Other Coding Agents","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/vibe-coding-foundations/codex-and-agents-md","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/vibe-coding-foundations/codex-and-agents-md.json","hasStructuredUnits":false}]},{"slug":"mobile-app-fundamentals","title":"Mobile App Fundamentals for Vibe Coders","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/mobile-app-fundamentals","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/mobile-app-fundamentals.json","hasStructuredUnits":true,"children":[]},{"slug":"expo-setup-and-project-structure","title":"Expo Setup & Project Structure","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/expo-setup-and-project-structure","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/expo-setup-and-project-structure.json","hasStructuredUnits":true,"children":[{"slug":"expo-go-vs-dev-builds","title":"Expo Go vs Development Builds","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/expo-setup-and-project-structure/expo-go-vs-dev-builds","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/expo-setup-and-project-structure/expo-go-vs-dev-builds.json","hasStructuredUnits":false}]},{"slug":"ui-with-tailwind-nativewind","title":"UI with Tailwind (NativeWind) & Design Systems","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ui-with-tailwind-nativewind","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ui-with-tailwind-nativewind.json","hasStructuredUnits":true,"children":[{"slug":"nativewind-setup","title":"NativeWind Setup in Expo","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ui-with-tailwind-nativewind/nativewind-setup","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ui-with-tailwind-nativewind/nativewind-setup.json","hasStructuredUnits":false},{"slug":"components-and-design-tokens","title":"Components, Variants & Design Tokens","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ui-with-tailwind-nativewind/components-and-design-tokens","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ui-with-tailwind-nativewind/components-and-design-tokens.json","hasStructuredUnits":false},{"slug":"animation-with-rive-and-reanimated","title":"Animation with Rive & Reanimated","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ui-with-tailwind-nativewind/animation-with-rive-and-reanimated","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ui-with-tailwind-nativewind/animation-with-rive-and-reanimated.json","hasStructuredUnits":false}]},{"slug":"screens-routing-and-navigation","title":"Pages, Routing & Navigation","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/screens-routing-and-navigation","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/screens-routing-and-navigation.json","hasStructuredUnits":true,"children":[{"slug":"expo-router","title":"Expo Router in Practice","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/screens-routing-and-navigation/expo-router","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/screens-routing-and-navigation/expo-router.json","hasStructuredUnits":false},{"slug":"lists-forms-and-keyboard","title":"Lists, Forms & Keyboard Handling","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/screens-routing-and-navigation/lists-forms-and-keyboard","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/screens-routing-and-navigation/lists-forms-and-keyboard.json","hasStructuredUnits":false}]},{"slug":"state-management","title":"State Management","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/state-management","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/state-management.json","hasStructuredUnits":true,"children":[{"slug":"react-state-and-context","title":"React State & Context in React Native","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/state-management/react-state-and-context","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/state-management/react-state-and-context.json","hasStructuredUnits":false},{"slug":"zustand","title":"Zustand for Client State","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/state-management/zustand","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/state-management/zustand.json","hasStructuredUnits":false},{"slug":"tanstack-query","title":"TanStack Query for Server State","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/state-management/tanstack-query","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/state-management/tanstack-query.json","hasStructuredUnits":false}]},{"slug":"mobile-storage-and-memory","title":"Mobile Storage & Memory","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/mobile-storage-and-memory","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/mobile-storage-and-memory.json","hasStructuredUnits":true,"children":[{"slug":"key-value-storage","title":"Key-Value Storage: AsyncStorage, MMKV & SecureStore","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/mobile-storage-and-memory/key-value-storage","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/mobile-storage-and-memory/key-value-storage.json","hasStructuredUnits":false},{"slug":"sqlite-and-offline-first","title":"SQLite & Offline-First Apps","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/mobile-storage-and-memory/sqlite-and-offline-first","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/mobile-storage-and-memory/sqlite-and-offline-first.json","hasStructuredUnits":false},{"slug":"memory-and-performance","title":"App Memory & Performance","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/mobile-storage-and-memory/memory-and-performance","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/mobile-storage-and-memory/memory-and-performance.json","hasStructuredUnits":false}]},{"slug":"databases-and-backends","title":"Databases & Backends: Supabase, PostgreSQL, Firebase & Turso","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/databases-and-backends","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/databases-and-backends.json","hasStructuredUnits":true,"children":[{"slug":"supabase","title":"Supabase with Expo","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/databases-and-backends/supabase","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/databases-and-backends/supabase.json","hasStructuredUnits":false},{"slug":"postgresql","title":"PostgreSQL for App Builders (Neon, Drizzle & APIs)","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/databases-and-backends/postgresql","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/databases-and-backends/postgresql.json","hasStructuredUnits":false},{"slug":"firebase","title":"Firebase (Firestore & Auth) with Expo","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/databases-and-backends/firebase","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/databases-and-backends/firebase.json","hasStructuredUnits":false},{"slug":"turso-libsql","title":"Turso (libSQL) & Edge SQLite","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/databases-and-backends/turso-libsql","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/databases-and-backends/turso-libsql.json","hasStructuredUnits":false}]},{"slug":"auth-and-security","title":"Auth, Security & Secrets","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/auth-and-security","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/auth-and-security.json","hasStructuredUnits":true,"children":[]},{"slug":"ai-features-apis-and-payments","title":"AI Features, APIs & Payments","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ai-features-apis-and-payments","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ai-features-apis-and-payments.json","hasStructuredUnits":true,"children":[{"slug":"ai-features","title":"Adding AI Features to a Mobile App","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ai-features-apis-and-payments/ai-features","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ai-features-apis-and-payments/ai-features.json","hasStructuredUnits":false},{"slug":"revenuecat-payments","title":"Subscriptions & In-App Purchases with RevenueCat","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ai-features-apis-and-payments/revenuecat-payments","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ai-features-apis-and-payments/revenuecat-payments.json","hasStructuredUnits":false},{"slug":"push-notifications","title":"Push Notifications with Expo","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ai-features-apis-and-payments/push-notifications","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ai-features-apis-and-payments/push-notifications.json","hasStructuredUnits":false}]},{"slug":"testing-mobile-apps","title":"Testing Mobile Apps (Jest, Testing Library, Maestro & AI QA)","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/testing-mobile-apps","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/testing-mobile-apps.json","hasStructuredUnits":true,"children":[{"slug":"unit-and-component-tests","title":"Unit & Component Tests with Jest and Testing Library","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/testing-mobile-apps/unit-and-component-tests","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/testing-mobile-apps/unit-and-component-tests.json","hasStructuredUnits":false},{"slug":"e2e-with-maestro","title":"End-to-End Tests with Maestro","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/testing-mobile-apps/e2e-with-maestro","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/testing-mobile-apps/e2e-with-maestro.json","hasStructuredUnits":false},{"slug":"ai-assisted-qa","title":"AI-Assisted QA & Manual Test Checklists","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/testing-mobile-apps/ai-assisted-qa","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/testing-mobile-apps/ai-assisted-qa.json","hasStructuredUnits":false}]},{"slug":"debugging-and-code-review","title":"Debugging & Reviewing AI-Generated Code","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/debugging-and-code-review","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/debugging-and-code-review.json","hasStructuredUnits":true,"children":[]},{"slug":"build-release-and-updates","title":"Build, Release & Over-the-Air Updates","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/build-release-and-updates","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/build-release-and-updates.json","hasStructuredUnits":true,"children":[{"slug":"eas-build-and-submit","title":"EAS Build & Submit","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/build-release-and-updates/eas-build-and-submit","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/build-release-and-updates/eas-build-and-submit.json","hasStructuredUnits":false},{"slug":"ota-updates-and-ci","title":"OTA Updates & CI Pipeline","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/build-release-and-updates/ota-updates-and-ci","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/build-release-and-updates/ota-updates-and-ci.json","hasStructuredUnits":false}]},{"slug":"ai-app-builders","title":"AI App Builders & Other Vibe Coding Tools","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ai-app-builders","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/ai-app-builders.json","hasStructuredUnits":true,"children":[]},{"slug":"prompt-rules-and-skills-library","title":"Prompt, Rules & Skills Library","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/prompt-rules-and-skills-library","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/prompt-rules-and-skills-library.json","hasStructuredUnits":true,"children":[]},{"slug":"capstone-projects","title":"Capstone Projects & Launch Plan","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/capstone-projects","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/capstone-projects.json","hasStructuredUnits":true,"children":[]},{"slug":"faq-and-troubleshooting","title":"FAQ & Troubleshooting for Expo Vibe Coders","url":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/faq-and-troubleshooting","machineUrl":"https://ihatereading.in/roadmap/vibe-coding-mobile-app-development/faq-and-troubleshooting.json","hasStructuredUnits":true,"children":[]}],"updatedAt":"2026-10-23T05:59:07.004Z"}