Overview
NearYou uses Expo’s build system to create production-ready apps for multiple platforms. This guide covers local development builds and production builds.Prerequisites
Node.js
Node.js 18+ requiredCheck version:
node --versionPackage Manager
npm or yarn installedAlready configured in the project
Expo CLI
Included via
expo@~54.0.20No global install neededEAS CLI (Optional)
For cloud builds:
npm install -g eas-cliNot required for local developmentDevelopment Scripts
NearYou includes several npm scripts for development:package.json
Local Development
Start Development Server
- All Platforms
- Android
- iOS
- Web
Start the Expo development server and choose a platform:This opens the Expo Developer Tools where you can:
- Press
ifor iOS simulator - Press
afor Android emulator - Press
wfor web browser - Scan QR code with Expo Go app
Development Features
Fast Refresh
Automatically reloads when you save files. Changes appear instantly without losing app state.
Error Overlay
Red screen shows errors with stack traces. Click to jump to the source file.
Developer Menu
Shake device or press
Cmd+D (iOS) / Cmd+M (Android) for debug options.Element Inspector
Press
Cmd+D > “Toggle Element Inspector” to inspect component layout.Clear Cache
If you encounter strange issues, clear the Metro bundler cache:Platform-Specific Builds
iOS Build Setup
NearYou uses the New Architecture (
newArchEnabled: true), which requires iOS 13.4 or higher.Android Build Setup
Install Android Studio
Download from developer.android.com/studio
Install Android SDK
Open Android Studio > More Actions > SDK ManagerInstall:
- Android SDK Platform 34 (minimum)
- Android SDK Build-Tools
- Android Emulator
Create Virtual Device
Android Studio > Device Manager > Create DeviceRecommended: Pixel 6 with Android 13+
The Android configuration enables edge-to-edge UI (
edgeToEdgeEnabled: true), requiring Android API 31+.Web Build
Web builds work without additional setup:app.json
Production Builds
Using EAS Build (Recommended)
Expo Application Services (EAS) provides cloud-based builds:Build Profiles
Typicaleas.json configuration:
eas.json
Development Profile
Development Profile
For development builds with debug features:
- Includes dev menu
- Enables fast refresh
- Internal distribution only
Preview Profile
Preview Profile
For testing before production:
- Internal distribution
- APK format for Android (easier sharing)
- Production-like build
Production Profile
Production Profile
For app store submission:
- Auto-increments build number
- Optimized and minified
- Store-ready artifacts
Local Production Build
Build locally without EAS (requires native toolchains):- iOS
- Android
- Web
Key Dependencies
NearYou uses these core dependencies (frompackage.json):
Expo SDK 54
Latest Expo features with React Native 0.81
Expo Router 6
File-based routing with type safety
React 19
Latest React with compiler support
Reanimated 4
Smooth 60fps animations
Build Optimization
Bundle Size Optimization
Performance Features
NearYou enables several performance optimizations:app.json
- New Architecture: Better interop between JS and native code
- React Compiler: Automatic memoization and optimization
Troubleshooting
Metro bundler port in use
Metro bundler port in use
Kill existing Metro process:
iOS build fails
iOS build fails
Clean and rebuild:
Android build fails
Android build fails
Clean Gradle cache:
Module not found
Module not found
Reinstall dependencies:
Code Quality
Linting
Run ESLint to check code quality:eslint-config-expo with flat config:
eslint.config.js
Type Checking
Run TypeScript compiler:Next Steps
Configuration
Customize app.json and platform settings
Deployment
Deploy your built app to stores and web hosting