Skip to main content

Overview

Launch is designed for easy deployment to production. This section covers deploying both your backend API and mobile app. Most of the mobile workflow is handled by Expo (EAS Build + EAS Submit), so deployment can be completed in a single afternoon once your backend is live.
If you need Docker or advanced env management, use the official Railway docs or your platform’s deployment guides.

Prerequisites

  • A production database
  • A hosting provider for the API
  • Apple/Google developer accounts (if submitting to stores)

Steps

  1. Deploy the API (Railway or your provider)
  2. Set production env vars (API + mobile)
  3. Build mobile binaries with EAS
  4. Submit to the stores

Deployment Checklist

Before deploying to production, ensure you’ve completed:
1

Require the integrations you use

In apps/api/src/config/env.ts, update any integration env vars you rely on (Stripe, Apple, Google, Twilio, push, AWS, etc.) from optional to required so the API fails fast if a value is missing.
2

Environment Variables

All production environment variables configured
3

Database Migration

Production database created and migrated
4

Security Review

5

Testing

All critical flows tested on staging
PlatformTimeDifficulty
Railway (Backend)10 minEasy
EAS Build (Mobile)15 minEasy
EAS Submit20 minMedium
First time deploying? Start with Backend to Railway - it’s the fastest way to get your API live.

Troubleshooting

  • Env missing at runtime: verify variables in your host (Railway/EAS)
  • Mobile can’t reach API: confirm EXPO_PUBLIC_API_URL

Next Steps