How to Use Expo Go: The Complete Step-by-Step Tutorial for AI-Era Mobile Development

$14.99

Master Expo Go in this 3,500+ word tutorial – from first QR scan to publishing your app on the App Store, with AI workflow integrations included.

👁️ Preview Guide
Category:

Introduction: Why Learn Expo Go

Expo Go is one of those rare tools that dramatically compresses the distance between “I have an idea for an app” and “my app is running on my phone.” Combined with modern AI coding assistants, it can take you from zero to a working mobile app in an afternoon. Joe’s QuickHelp app was built entirely with Expo Go as the preview layer and Claude Code / Cursor as the coding assistants. Thousands of other indie developers are building their apps the same way.

This guide walks you through Expo Go from the first install on your phone to publishing a production APK on Google Play and an IPA on the App Store. It covers AI workflow integration (Cursor, Claude Code, ChatGPT), common troubleshooting, and the 90-day mastery plan that takes you from first hello-world to shipped app.

Part 1: Installing Expo Go and Setting Up Your Laptop

Start by installing the Expo Go app on your iPhone or Android phone from the App Store or Google Play. On your laptop, install Node.js version 18 or later from nodejs.org. Open Terminal (Mac/Linux) or PowerShell (Windows). You now have the two pieces you need – a development laptop and a device to preview on.

Quick install check

Run ‘node -v’ and ‘npm -v’ in your terminal. Both should return version numbers. If not, reinstall Node.js and restart your terminal.

Part 2: Creating Your First Expo Project

In a terminal, navigate to the folder where you want your code to live. Run ‘npx create-expo-app myapp’ and answer the prompts. A new folder called ‘myapp’ appears with your starter code. Then cd into it: ‘cd myapp’.

  • Choose the ‘Default’ template for TypeScript and tabs – the most common starting point.
  • The blank template is lighter if you want to build everything from scratch.
  • The ‘Navigation (TypeScript)’ template gives you tab navigation out of the box.

Part 3: Starting the Dev Server

Run ‘npx expo start’ in your project folder. A QR code appears in the terminal. Also open your phone’s Expo Go app. On iPhone, open the Camera app and point it at the QR code. On Android, open Expo Go and tap Scan QR code. Your app loads in 10-30 seconds.

Tunnel vs LAN mode

Default LAN mode requires phone and laptop on the same WiFi. If that does not work, run ‘npx expo start –tunnel’ for a cloud-routed connection.

Part 4: Making Your First Change with Hot Reload

Open ‘App.tsx’ (or ‘App.js’) in any code editor – VS Code, Cursor, or Sublime. Change the text inside the View component. Save the file. Look at your phone – the change appears in under a second. This is hot reload. It is the beating heart of the Expo Go workflow.

  • Hot reload preserves component state when possible.
  • If state gets corrupted, shake your phone and tap ‘Reload’ for a clean reset.
  • CSS-in-JS changes update without reload; logic changes sometimes need a reload.

Part 5: Using Native Modules

Expo includes 50+ native modules ready to import. For example, to access the camera: ‘npx expo install expo-camera’, then ‘import { Camera } from “expo-camera”‘. No separate platform configuration needed for most use cases. The same line works on iOS and Android.

  • expo-camera – take photos and videos
  • expo-location – GPS and geolocation
  • expo-notifications – local and push notifications
  • expo-image-picker – pick from camera roll
  • expo-auth-session – Google/Apple/Facebook sign-in
  • expo-file-system – read/write files
  • expo-sqlite – local database
  • expo-maps (or react-native-maps) – map views

Part 6: Debugging on Device

Shake your phone (literally). A developer menu appears with Reload, Debug Remote JS, Show Element Inspector, Performance Monitor, and more. Debug Remote JS opens your app’s JavaScript in Chrome DevTools – set breakpoints, inspect variables, profile performance. This is the same debugging experience as web development.

  • Console.log statements appear in the terminal running ‘npx expo start’.
  • Use ‘console.warn’ and ‘console.error’ for yellow/red highlighted output.
  • LogBox automatically shows errors and warnings as banners on device.

Part 7: Working With AI Coding Assistants

Expo Go’s fast feedback loop makes it perfect for AI-assisted development. In Cursor or Claude Code, describe what you want in natural language. The assistant writes or edits React Native code. You save the file. The change appears on your phone in under a second. You verify it works, then ask for the next feature. This loop lets you build an entire app in an afternoon.

  • Cursor: Cmd+K to generate code, Cmd+L for chat.
  • Claude Code: Run as a CLI alongside your editor, give natural-language instructions.
  • ChatGPT: Paste code snippets and ask for fixes or refactors.

Part 8: Integrating APIs and Backend Services

React Native apps typically talk to a backend API over fetch or axios. Point your app at a local Node.js server during development (e.g., http://192.168.1.93:3000 from the laptop’s IP). For production, use a deployed URL (Heroku, Railway, Fly, Vercel). Always set up cleartext HTTP carefully – production Android APKs block http:// by default.

The cleartext gotcha

Production APKs require HTTPS or an explicit usesCleartextTraffic flag in app.json. Joe’s QuickHelp team hit this exact issue last week – the fix is to add ‘usesCleartextTraffic: true’ with expo-build-properties plugin.

Part 9: Testing on Multiple Devices

Open Expo Go on a second phone, iPad, or tablet. Scan the same QR code. Both devices run your app simultaneously, fed from the same dev server. Every save updates all connected devices. This is priceless for catching platform-specific bugs (iOS vs Android, different screen sizes, notch handling).

  • Test on at least one iPhone and one Android device.
  • Test on a tablet for responsive layout bugs.
  • Test on a device with a notch (iPhone 14+).
  • Test on an Android with gesture nav.

Part 10: Building Production APKs and IPAs

When your app is ready to publish, use EAS Build. Install the EAS CLI (‘npm install -g eas-cli’), authenticate (‘eas login’), configure (‘eas build:configure’), and build (‘eas build –platform android –profile preview’ for APK, or ‘–profile production’ for App Store). The build happens in Expo’s cloud. In 10-30 minutes you have an installable APK or IPA to share with testers or submit to stores.

APK vs AAB

For direct install and sharing, use APK. For Google Play submission, use AAB (Android App Bundle) – smaller download size and Play Store-required.

Part 11: Over-the-Air Updates (OTA)

Once your app is live, EAS Update lets you push JavaScript changes without going through the App Store or Play Store review. Users get the update the next time they open the app. This cuts your time-to-fix from days to minutes – critical when you find a bug in production.

  • Only JavaScript code can be OTA’d, not native modules.
  • Adding new native modules requires a new full build and store review.
  • OTA works great for bug fixes, copy changes, UI tweaks, and new features built on existing native modules.

Part 12: Publishing to App Stores

For Google Play: create a Developer account ($25 one-time), download the AAB from EAS, upload to Play Console, fill out store listing, submit for review (usually approved within hours). For Apple App Store: enroll in the Apple Developer Program ($99/year), use ‘eas submit –platform ios’ to upload to TestFlight, then promote to App Store via App Store Connect. Full approval typically takes 1-3 days.

The icon and screenshot gotcha

Both stores require app icons, splash screens, and multiple screenshot sizes. Use the Expo config wizard or a design tool like Canva or Figma to generate all required assets before submitting.

30 Pro Tips and Tricks

These are the details that separate beginners from pros. Skim them, apply the ones that click, and come back to the others as you level up.

  1. Always use TypeScript for new projects – the autocomplete and type safety dramatically speed up AI-assisted coding.
  2. Keep ‘npx expo start’ running in one terminal while you code – you’ll save seconds on every change.
  3. Use –tunnel mode when corporate WiFi blocks LAN connections.
  4. The ‘Reload All’ option in the dev menu rebuilds faster than closing and reopening.
  5. Enable ‘Fast Refresh’ (on by default) for the best hot-reload behavior.
  6. Set up EAS Build early, not at the last minute – you’ll discover config issues before they block a release.
  7. Test on a real device, not just the simulator – simulators miss permission dialogs and hardware quirks.
  8. Use app.json’s ‘icon’ and ‘splash’ fields from day one to get a professional feel early.
  9. Keep your dependencies minimal – every native module adds build time and potential compatibility issues.
  10. For maps, get a Google Maps API key from the start – production APKs crash without one.
  11. Use expo-build-properties plugin for advanced native config (like usesCleartextTraffic).
  12. Set up EAS Update in your first week – you’ll thank yourself the first time you need to fix production.
  13. Use the ‘preview’ build profile for internal testing, ‘production’ for store submissions.
  14. Test your app in airplane mode to catch missing offline handling.
  15. Use the performance monitor to spot memory leaks before they ship.
  16. Name your screens consistently (e.g., HomeScreen, PostTaskScreen) for cleaner navigation code.
  17. Store secrets in .env files, not in code – AI assistants sometimes try to hardcode them.
  18. Use React Navigation’s typed routes for type-safe navigation.
  19. Cache API responses with React Query or SWR for a smoother UX.
  20. Enable Sentry or LogRocket early for production error tracking.
  21. Test on a slow 3G connection to catch loading-state bugs.
  22. Use EAS Secrets for API keys that need to vary per environment.
  23. Keep your app.json version and build numbers in sync across EAS builds.
  24. Use the ‘expo doctor’ command before each release to catch dependency issues.
  25. Screenshots for stores: use simulators set to ‘notched’ devices for the cleanest look.
  26. Write your privacy policy before submitting to the App Store – they require one.
  27. Android Play Store requires a content rating questionnaire – do this early.
  28. Use SFSafariViewController/CustomTabs for external links to avoid App Store rejection.
  29. Test push notifications with Expo’s notification tool at https://expo.dev/notifications.
  30. Keep up with Expo SDK upgrades quarterly – falling behind causes build breaks.

AI Assistant Prompt Library (Copy, Paste, Customize)

Seven battle-tested prompts you can hand to Cursor, Claude Code, or ChatGPT when building with Expo Go. Replace the bracketed placeholders with your own details.

New screen with navigation

Create a new React Native screen called [ScreenName] in our Expo app at src/screens/. Include typed navigation props using React Navigation’s NativeStackScreenProps. Add a header title, a form with [fields], and a submit button that calls our backend at [API_URL]. Use our existing styling from src/theme.ts.

Camera and upload

Add a camera capture feature to our Expo app using expo-camera. After the user captures a photo, upload it to our backend at [API_URL]/upload as multipart/form-data. Show a progress indicator during upload and an error banner if it fails.

Push notification setup

Set up push notifications in our Expo app using expo-notifications. Handle permission prompts, register the device token with our backend at [API_URL]/register-token, and show local notifications when the app is in the background.

Maps with markers

Add a map to our [ScreenName] screen using react-native-maps. Show the user’s current location (request permission via expo-location), render markers for every item in our data array, and center the map on the user’s location with a 10km radius.

Auth with Google

Implement Google Sign-In in our Expo app using expo-auth-session. Store the auth token in expo-secure-store. Protect routes with a navigation guard. Handle token refresh automatically when expired.

Bug fix from crash log

Here is a crash log from our production APK: [paste log]. Analyze the stack trace, identify the likely root cause in our codebase at [file path], and propose a fix. Do not modify unrelated code.

Refactor for performance

Review our [ScreenName] screen at src/screens/[ScreenName].tsx. Identify performance issues (unnecessary re-renders, heavy synchronous work, missing memoization). Refactor with React.memo, useMemo, and useCallback where appropriate. Explain each change.

Integration With Other AI Tools

Expo Go is the center of a modern mobile development stack. Pair it with Cursor or Claude Code for AI-assisted coding – describe features in natural language, watch them appear on your phone. Use EAS Build for cloud compilation and OTA updates so you never need Xcode on your laptop. For backend, Node.js with Express or Fastify, deployed on Railway, Fly, or Render. For auth, Firebase Auth or Supabase – both have first-class Expo support. For database, SQLite via expo-sqlite for offline-first, or Supabase/Firebase for real-time cloud data. For analytics, Amplitude or Mixpanel. For push notifications, Expo’s own notification service. The full 2026 mobile stack for indie builders: Cursor + Expo Go + EAS + Supabase + Stripe + Sentry. One developer, one codebase, two app stores, production-ready in weeks.

Industry-Specific Use Cases

This tool shows up differently across industries. These six sectors are where it is having the largest impact in 2026.

Startups and Indie Builders

Most successful mobile-first startups in 2026 launched their first MVP with Expo Go. It compresses the ‘is this idea real?’ loop from months to weeks, letting founders validate before committing to custom native development.

Agencies and Consultancies

Mobile agencies use Expo Go to deliver client apps 3-5x faster than bare React Native or native iOS/Android stacks. The reduced developer hours translates directly to higher margins.

Education and Bootcamps

Coding bootcamps use Expo Go to teach mobile development in a single semester. Students skip 2-3 weeks of IDE setup and jump straight into building.

Content Creators and Influencers

Creators with audiences build branded companion apps using Expo Go – exclusive content feeds, merch stores, community features – without hiring mobile teams.

Small Business Custom Apps

Restaurants, salons, and local services build booking apps, loyalty programs, and digital menus in Expo Go, replacing $10,000+ agency quotes with self-built apps.

Enterprise Internal Tools

Large companies use Expo Go for internal field apps – sales force, logistics tracking, inventory audit – where iteration speed matters more than App Store polish.

Troubleshooting Guide

Here are the most common issues and the fastest fixes.

App won’t connect to dev server

Phone and laptop must be on the same WiFi. If corporate WiFi blocks this, use ‘npx expo start –tunnel’ to route through Expo’s cloud. Also check laptop firewall settings.

Production APK won’t start after login

Almost always a cleartext HTTP issue – Android blocks http:// in production builds. Add ‘usesCleartextTraffic: true’ in app.json via the expo-build-properties plugin.

Expo Go shows ‘You need to enable Developer Mode’ on iOS

iOS 17+ requires Developer Mode. Go to Settings > Privacy & Security > Developer Mode and toggle on. Device will restart.

Hot reload stopped working

Shake your phone, tap ‘Reload’. If that fails, restart ‘npx expo start’ with the -c flag to clear the cache.

Build fails on EAS with native module error

Most commonly a version mismatch. Run ‘npx expo install –check’ to fix dependency versions. If that does not resolve it, ‘npx expo-doctor’ surfaces deeper issues.

Push notifications don’t arrive

Check three things: 1) device has granted notification permission, 2) your server has the correct Expo push token, 3) you are sending to the right environment (Expo’s notification tool at expo.dev/notifications is the fastest way to test).

Your 90-Day Mastery Plan

Mastery does not come from reading guides – it comes from deliberate practice. Here is a 90-day plan focused on fast iteration, AI-assisted coding, and end-to-end app shipping:

Days 1-7: Foundations

Sign up, explore every menu, and produce ten generations or test runs. Focus on fluency with the interface. By day 7, you should feel comfortable navigating without hunting for buttons.

Days 8-30: Skill Building

Pick one real project and commit to shipping it. Iterate every day. By day 30, you have one real piece of work in the world and a set of personal rules for when this tool works best.

Days 31-60: Systematization

Build repeatable workflows. Save prompt templates, configure defaults, set up integrations with other tools. Document your personal playbook. Ship at least 10 more finished pieces.

Days 61-90: Scale and Monetization

Turn your skill into output that pays. Productize your workflow – sell a service, take on client work, or build a content business around it. By day 90, this tool is no longer something you are learning – it is something you are profiting from.

The difference between people who experiment with AI tools and people who build careers on them is simply showing up every day for 90 days. Most quit after two weeks. The ones who stay compound faster than anyone expects.

Real-World Case Studies

Here are three real-world examples showing how this tool is being used right now.

The Weekend MVP

A solo founder built a dog-walking marketplace app in a single weekend using Expo Go and Cursor. Saturday morning to Sunday evening: signup flow, map of dog walkers, booking, payments via Stripe. By Monday the app was in TestFlight. By month three he had 400 paying users and a $40K seed round.

The Agency Pivot

A Miami-based web agency switched 80% of their mobile work to Expo Go in 2025. They went from shipping one native app per quarter to shipping five Expo apps per quarter with the same team. Revenue per developer doubled, and they now decline every request for native-only work.

The QuickHelp App

Joe’s QuickHelp (a local help marketplace) was built entirely in Expo Go using Claude Code as the AI coding assistant. The full MVP – signup, maps, task posting, payments, reviews – was built in under six weeks by one developer. Production APK ships via EAS Build; OTA updates push fixes without store reviews.

Frequently Asked Questions

Is Expo Go really free?

Yes, the Expo Go app is free forever on iOS and Android. The paid side is EAS (Expo Application Services), which handles production builds and OTA updates. Even EAS has a generous free tier – 30 builds per month and OTA updates for 1,000 users – which is enough for most early-stage projects.

Can I build any app in Expo Go?

You can build 90% of apps entirely with Expo Go. The 10% exceptions: apps needing custom video codecs, deep Bluetooth protocols, or very specialized native SDKs. For those, you can ‘eject’ to bare React Native later while keeping most of your code. Most apps never need to eject.

Does Expo Go work with TypeScript?

Yes, fully. The default template is now TypeScript. AI coding assistants (Cursor, Claude Code) work much better with TypeScript because the types give them clear signals about what to generate.

How is Expo Go different from React Native CLI?

Expo Go is a managed workflow – you don’t touch Xcode or Android Studio for most development. React Native CLI is ‘bare’ – you manage native code directly. Expo is 10x faster for most apps; bare is needed only when you require custom native work.

Can I publish an app built with Expo Go to both App Store and Play Store?

Yes. EAS Build compiles your code into a proper IPA (for App Store) and AAB (for Play Store). Both submissions work the same way as any other native app. Thousands of apps in both stores are built with Expo.

Do OTA updates bypass App Store review?

JavaScript and asset changes can be pushed via EAS Update without store review. New native modules or binary changes still require a full build and review. This means bug fixes and UI tweaks go out instantly; major features require the standard review process.

Is Expo Go good for games?

For 2D games with moderate performance needs, yes. Libraries like react-native-game-engine and expo-gl make 2D work smooth. For 3D games or high-performance real-time graphics, use Unity or Unreal instead.

Can I use Expo Go offline?

During development, you need internet when you first scan the QR code, but after that you can mostly work offline. Your app itself can be fully offline-capable using expo-sqlite and expo-secure-store.

How do I handle different versions of iOS and Android?

Expo SDK targets a specific minimum OS version (iOS 13+, Android 6+). App Store and Play Store let you set even higher minimums if needed. Most apps never think about this beyond the initial config.

How long does it take to ship an app with Expo Go?

A simple MVP: 2-4 weeks for a solo developer. A medium-complexity app (auth + database + maps + payments): 4-8 weeks. With AI coding assistants like Cursor or Claude Code, these timelines compress by 30-50%. Joe’s QuickHelp went from zero to production APK in six weeks.

Final Thoughts

Expo Go has fundamentally changed what one developer can ship. Paired with modern AI coding tools, it collapses what used to require a team of three and six months into one person and six weeks. Whether you are building an MVP to validate an idea, shipping client work at an agency, or just learning mobile development, Expo Go is the tool that removes every unnecessary step between your idea and your app running on your phone. Install it today, build something small, and see for yourself how different mobile development feels in 2026.

Reviews

There are no reviews yet.

Be the first to review “How to Use Expo Go: The Complete Step-by-Step Tutorial for AI-Era Mobile Development”

Your email address will not be published. Required fields are marked *

Scroll to Top