Voice & Video Mobile Experience
Real-time voice and video chat for 150M+ monthly active users with background audio, push notifications, and complex navigation between servers and channels.
Shop App (100M+ Downloads)
Consumer shopping app with order tracking, payment integration (Apple Pay, Google Pay), barcode scanning, and local notifications for delivery updates.
Global Ordering Platform
Food ordering app serving 100+ countries with location services, real-time order tracking, payment processing, and loyalty program integration.
Celebrity Video Platform
Video recording and playback platform with in-app purchases, social sharing, push notifications, and creator analytics dashboards.
What Expo Developers Actually Build
Before writing your job description, understand what Expo development looks like at different companies. Here are real examples:
Consumer Apps
Discord uses Expo for their mobile app serving 150M+ monthly active users:
- Real-time voice and video chat integration
- Push notification handling across iOS and Android
- Complex navigation between servers, channels, and DMs
- Background audio playback for voice channels
- Deep linking for server invitations
Shopify's Shop App (100M+ downloads) is built with Expo:
- Order tracking with push notifications
- Apple Pay and Google Pay integration
- Barcode scanning for receipts
- Local notifications for delivery updates
- Widget support via Expo's native modules
Food & Delivery
Pizza Hut serves customers in 100+ countries with their Expo app:
- Location-based store finding
- Real-time order tracking
- Payment processing with multiple providers
- Menu customization interfaces
- Loyalty program integration
Brex uses Expo for their corporate card app:
- Secure authentication flows
- Receipt scanning with camera access
- Real-time transaction notifications
- Expense categorization
- Budget tracking dashboards
Enterprise & Productivity
Cameo built their celebrity video platform with Expo:
- Video recording and playback
- In-app purchases for video requests
- Social sharing functionality
- Push notifications for video delivery
- Creator analytics dashboards
Notion uses Expo components in their mobile app:
- Offline-first document editing
- Real-time collaboration sync
- Complex rich-text handling
- Cross-platform consistent UI
- Deep linking to specific pages
Expo vs Bare React Native: What Recruiters Need to Know
This is the most important distinction for hiring. Understanding the difference helps you write better job descriptions and evaluate candidates accurately.
Expo Managed Workflow
The default and recommended approach. Your developers focus on JavaScript/TypeScript while Expo handles native complexity.
What it provides:
- Pre-configured native modules (camera, location, notifications, etc.)
- Cloud builds via EAS Build (no local Xcode/Android Studio required)
- Over-the-air updates for instant bug fixes
- Consistent development environment across team members
- Expo Go app for instant testing during development
Trade-offs:
- Some native modules aren't available (must eject or use development builds)
- App binary size is larger (includes all Expo modules)
- Less control over native configuration
Who needs this: Most startups, mid-size companies, and teams without dedicated iOS/Android expertise. Perfect for apps that use standard native features.
Bare React Native
Direct React Native without Expo's managed services. Full control, full responsibility.
What you handle yourself:
- Native module installation and linking
- Xcode and Android Studio configuration
- Build pipelines for iOS and Android
- Code signing and provisioning profiles
- Native dependency version management
Who needs this: Companies with complex native requirements, existing native codebases, or dedicated mobile DevOps teams.
Development Builds (The Middle Ground)
Expo's solution for apps that need custom native code while keeping Expo's benefits:
- Use Expo's build service with custom native modules
- Keep OTA updates for JavaScript changes
- Maintain Expo's development workflow
- Add any React Native library, even those requiring native code
This is increasingly the standard approach. Discord, Shopify, and most production Expo apps use development builds.
| Aspect | Expo Managed | Development Builds | Bare React Native |
|---|---|---|---|
| Native code access | Expo SDK only | Full access | Full access |
| Build complexity | Zero (EAS handles it) | Low (EAS handles it) | High (you manage it) |
| OTA updates | Built-in | Built-in | Manual setup |
| App size | Larger | Optimized | Smallest |
| Team expertise needed | React/JS | React/JS + some native | Deep native knowledge |
| Time to first build | Minutes | Hours | Days |
Critical hiring insight: A developer with "Expo experience" might only know the managed workflow or might have deep experience with development builds and native modules. Clarify your environment in the job description.
EAS (Expo Application Services): The Modern Expo Stack
Understanding EAS is crucial for evaluating modern Expo developers. It's a suite of cloud services that handle the hardest parts of mobile development.
EAS Build
Cloud-based build service that compiles your app for iOS and Android.
Why it matters:
- No need for macOS to build iOS apps
- Consistent build environment across team
- Automatic code signing management
- Build artifacts stored and versioned
- Integration with CI/CD pipelines
What to ask candidates: "How do you handle iOS builds for your team?" Strong candidates will mention EAS Build or explain their alternative CI/CD setup. Weak candidates might say "I build locally on my Mac."
EAS Submit
Automated app store submission to Apple App Store and Google Play.
Why it matters:
- Handles the tedious submission process
- Manages screenshots, descriptions, changelogs
- Automates the approval workflow
- Tracks submission status
EAS Update
Over-the-air JavaScript updates without app store review.
Why it matters:
- Fix bugs instantly (no 24-48 hour app store review)
- A/B test features with update channels
- Roll back bad updates immediately
- Significantly faster iteration cycles
Interview signal: Ask "How do you handle urgent bug fixes in production?" Great candidates will explain OTA update strategies, rollback procedures, and when OTA updates aren't appropriate (native code changes).
EAS Metadata
Manages app store listings across both platforms.
Why it matters:
- Single source of truth for app metadata
- Version control for store listings
- Localization support for international apps
What Makes a Strong Expo Candidate
Essential Skills
1. React Native Fundamentals
Expo IS React Native. Without strong React Native skills, Expo knowledge is superficial.
- Component lifecycle and hooks
- State management (Redux, Zustand, or Context)
- Navigation patterns (React Navigation)
- Performance optimization (FlatList, memo, useMemo)
- Debugging with React DevTools
2. JavaScript/TypeScript Proficiency
The entire Expo codebase is JS/TS. Strong fundamentals are non-negotiable.
- Async/await and Promise handling
- TypeScript generics and type inference
- Module systems (imports, exports)
- Error handling patterns
3. Mobile Development Concepts
Understanding mobile-specific challenges that don't exist on web.
- App lifecycle (background, foreground, terminated states)
- Push notification handling
- Deep linking and universal links
- Offline storage and sync strategies
- Permission handling (camera, location, contacts)
4. Native Module Integration
For production apps, understanding how to work with native code is valuable.
- When to use Expo modules vs community packages
- How to create development builds for custom native code
- Debugging native crashes from JavaScript stack
- Understanding the bridge and new architecture (Fabric, TurboModules)
Red Flags in Candidates
Tutorial-only experience:
- Only built the default Expo template apps
- Never shipped to app stores
- Can't explain how app store submission works
- No experience with production debugging
Managed workflow tunnel vision:
- Doesn't know what to do when Expo SDK doesn't have a needed feature
- Never created a development build
- Can't explain when to eject or use bare workflow
- No understanding of native code at all
Outdated practices:
- Still using Expo SDK 40 or earlier patterns
- Relies on deprecated APIs
- Doesn't know about EAS or uses deprecated expo build
- No TypeScript experience in 2026
Common Hiring Mistakes
1. Requiring Expo Specifically When React Native Is Enough
The mistake: Filtering out React Native developers who haven't used Expo.
Reality: Expo is React Native with extra tooling. A React Native developer learns Expo in days. The SDK, EAS commands, and configuration are trivial compared to core React Native skills.
Better approach: Require "React Native experience" and list Expo as preferred. Test React Native fundamentals in interviews, not Expo API knowledge.
2. Underestimating Native Knowledge Needs
The mistake: Hiring for Expo assuming no native expertise is ever needed.
Reality: Production apps inevitably need native code—custom analytics SDKs, proprietary hardware integration, performance-critical features. Even with development builds, understanding native debugging is valuable.
Better approach: Depending on your app complexity, hire developers who can at least read native code and debug native crashes. For complex apps, include native iOS/Android experience as "nice to have."
3. Ignoring App Store Experience
The mistake: Hiring developers who've never shipped to app stores.
Reality: App store submission has its own complexity—review guidelines, rejection reasons, metadata requirements, screenshot specifications. This experience can't be simulated in tutorials.
Better approach: Ask about their app store submission experience. Even personal project submissions indicate valuable real-world knowledge.
4. Testing Expo SDK Trivia
The mistake: Asking "What's the API for Expo Camera?" or "How do you configure app.json?"
Reality: These are documentation lookups, not skills. Anyone can read the docs. Testing API recall wastes interview time.
Better approach: Present scenarios: "Users report the camera crashes on Android 12 devices. How would you debug this?" This tests problem-solving and mobile development understanding.
5. Conflating Mobile and Web React Skills
The mistake: Assuming React web developers can immediately be productive with Expo.
Reality: Mobile has unique challenges: navigation paradigms, native modules, app lifecycle, push notifications, performance on constrained devices. Web React skills transfer partially, but mobile-specific learning is substantial.
Better approach: If hiring React web developers for Expo roles, budget for 4-6 weeks of mobile-specific onboarding. Alternatively, prioritize candidates with any mobile development background.
Recruiter's Cheat Sheet: Evaluating Expo Candidates
Conversation Starters That Reveal Skill Level
| Question | Junior Answer | Senior Answer |
|---|---|---|
| "How do you handle app updates?" | "Users download from the app store" | "OTA updates via EAS Update for JS changes, coordinated app store releases for native changes, rollback procedures for critical bugs" |
| "Tell me about a mobile-specific bug you debugged" | Vague or web-focused answer | "Android 11 scoped storage broke our file downloads. Used adb logcat, identified the Android manifest permission, updated our file access patterns" |
| "How do you approach performance optimization?" | "I use memo and useMemo" | "Profile with Flipper, identify JS thread bottlenecks, optimize FlatList with getItemLayout, measure actual frame rates on low-end devices" |
| "What happens when Expo SDK doesn't have what you need?" | "I would eject" | "Create a development build, add the native module or write a custom one, keep EAS Build and Update benefits" |
Resume Signals That Matter
✅ Look for:
- Apps shipped to both app stores (with links or names)
- Specific user/download metrics ("App serving 50K+ daily active users")
- EAS Build or CI/CD pipeline experience
- Push notification implementation
- Performance optimization mentions
- React Navigation or navigation library experience
🚫 Be skeptical of:
- Only listing "Expo" without React Native
- No mention of app store submission
- Tutorial project names (AwesomeProject, my-first-app)
- "5 years Expo experience" (Expo wasn't mainstream until 2019-2020)
- Heavy focus on Expo Go without production deployment
GitHub/Portfolio Signals
Strong indicators:
- Apps with multiple screens and navigation
- Custom native modules or config plugins
- EAS configuration files (eas.json) in repos
- TypeScript usage throughout
- Real device testing evidence (not just simulators)
Red flags:
- Only default Expo template with minor changes
- No navigation implementation
- Android and iOS builds never attempted
- No error handling patterns