Verification
Confirm your Expo account, EAS CLI, and Expo Go preview are all working before you need them on the real project.
Expo and EAS have several moving parts: the account, the CLI, the phone app, the project configuration. A problem with any one of them will block you when you need to demonstrate your work to Subhash or submit something for the EduTrack project.
Verify each layer now — while you have time to fix problems — not at 11pm the night before a client demo.
Verification Checklist
Work through each item in order. Later items depend on earlier ones being correct.
Account and CLI
- Expo account created at expo.dev
- Expo account email verified (can log in to expo.dev dashboard)
- EAS CLI installed: run
eas --versionin terminal — shows a version number - EAS CLI authenticated: run
eas whoami— shows your Expo username (not "Not logged in")
Expo Go on Your Phone
- Expo Go installed on your Android or iOS device
- Expo Go opens without errors
- Your laptop and phone are on the same Wi-Fi network
-
npx expo startruns in your project terminal without errors - QR code appears in the terminal
- Scanning the QR code in Expo Go loads your app on your phone
- Making a code change in VS Code updates the app on your phone within 5 seconds
EAS Build (Optional at This Stage — Complete When Ready)
-
eas.jsonexists in your project root (created byeas build:configure) - First Android preview build triggered:
eas build -p android --profile preview - Build completed without errors (check expo.dev → Builds)
- APK downloaded from the Expo dashboard
- APK installed on Android test device
- App opens and runs as a standalone app (not inside Expo Go)
- Project appears in expo.dev dashboard with build history
The Core Test — Expo Go Preview
This is the most important test for daily development. Run it now.
Open a React Native project in VS Code
If you don't have one yet, create a minimal Expo project:
Start the development server
Confirm the output
The terminal should show:
- A QR code
- "Metro waiting on exp://..." with your local IP address
- A list of keyboard shortcuts (press
afor Android,ifor iOS, etc.)
If you see errors instead, check the troubleshooting section below.
Connect Expo Go
On Android: Open Expo Go → tap the scan icon → scan the QR code in your terminal. On iPhone: Open Camera app → point at QR code → tap the banner.
Confirm the app loads
You should see the default Expo app screen on your phone. The words "Open up App.js to start working on your app!" appear (for a fresh project).
Make a change and confirm Hot Reload
In VS Code, open App.js (or App.tsx) and change the text inside the <Text> component to anything — your name, "Hello EduTrack", anything.
Save the file. Within 2–3 seconds, the text on your phone should update automatically — without rescanning the QR code.
If the text updates on your phone, Hot Module Replacement is working. Expo Go is fully set up.
Troubleshooting Common Problems
"eas whoami" says "Not logged in"
Enter your Expo username and password. Try eas whoami again.
"eas --version" says "command not found"
EAS CLI didn't install correctly or isn't in your PATH.
Try:
If that fails, check that Node.js is installed:
If Node.js isn't installed, complete the Node.js setup section first, then return here.
Expo Go scans QR code but shows "Network response timed out"
Your phone and laptop are on different networks, or a firewall is blocking the connection.
Fix 1 — Confirm same Wi-Fi: On your phone, go to Wi-Fi settings. Confirm the network name matches your laptop's Wi-Fi network. Office and home networks sometimes have "guest" and "main" networks that appear separate but have a firewall between them.
Fix 2 — Use tunnel mode:
This routes the connection through Expo's servers, bypassing the local network requirement. Updates will be slower (5–10 seconds instead of 2–3) but it always works regardless of network configuration.
App loads in Expo Go but shows a blank white screen
Your code has an error that crashes on startup.
Look at the terminal where npx expo start is running. The error will appear there. Common causes:
- A missing import (you referenced a file or package that doesn't exist)
- A syntax error in a recently edited file
- A missing environment variable that the app tries to read at startup
Fix the error in VS Code and save — Expo Go will reload automatically.
Changes in VS Code don't update on the phone
Press r in the terminal (while the Expo dev server is running). This forces a full reload instead of a hot update.
If that doesn't work:
- In Expo Go, shake your phone to open the developer menu → Reload
- Or close the app completely and reopen it
"Unable to resolve module" error on the phone
You added a new npm package but didn't install it:
Then restart the dev server:
Understanding What You've Verified
By working through this checklist, you've confirmed the development loop works end-to-end:
This loop is what you'll use for 95% of your mobile development work. EAS Build and EAS Update are reserved for specific moments:
| When to use | Tool |
|---|---|
| Daily development and UI testing | Expo Go + dev server |
| Testing native features (push notifications, KYC camera) | EAS Build → preview APK |
| Sharing with Subhash for review | EAS Build → preview APK |
| Submitting to Play Store / App Store | EAS Build → production + EAS Submit |
| Fixing a bug after going live | EAS Update |
Before You Touch EduTrack Mobile Code
Confirm these are done before joining the mobile development track:
-
eas whoamishows your Expo username - Expo Go installed and connected to at least one test project
- Hot reload confirmed working (code change → phone updates in < 5 seconds)
- Subhash has added you as a collaborator on the EduTrack Expo project at expo.dev (ask Subhash for this — you cannot add yourself)
- You've run
eas build:listin the EduTrack project folder and can see the project's build history
The last two items require coordination with Subhash — bring this checklist to the first mobile development session and work through it together.