This is a native cross-platform mobile app created with Rork
Platform: Native iOS & Android app, exportable to web Framework: Expo Router + React Native
There are several ways of editing your native mobile application.
Simply visit rork.com and prompt to build your app with AI.
Changes made via Rork will be committed automatically to this GitHub repo.
Whenever you make a change in your local code editor and push it to GitHub, it will be also reflected in Rork.
If you want to work locally using your own code editor, you can clone this repo and push changes. Pushed changes will also be reflected in Rork.
If you are new to coding and unsure which editor to use, we recommend Cursor. If you're familiar with terminals, try Claude Code.
The only requirement is having Node.js & Bun installed - install Node.js with nvm and install Bun
Follow these steps:
```bash
git clone <YOUR_GIT_URL>
cd <YOUR_PROJECT_NAME>
bun i
Step 4: Start the instant web preview of your Rork app in your browser, with auto-reloading of your changes
bun run start-web
bun run start # then press "i" in the terminal to open iOS Simulator
bun run start -- --ios ```
- Navigate to the desired file(s).
- Click the "Edit" button (pencil icon) at the top right of the file view.
- Make your changes and commit the changes.
This project is built with the most popular native mobile cross-platform technical stack:
- React Native - Cross-platform native mobile development framework created by Meta and used for Instagram, Airbnb, and lots of top apps in the App Store
- Expo - Extension of React Native + platform used by Discord, Shopify, Coinbase, Telsa, Starlink, Eightsleep, and more
- Expo Router - File-based routing system for React Native with support for web, server functions and SSR
- TypeScript - Type-safe JavaScript
- React Query - Server state management
- Lucide React Native - Beautiful icons
- iOS: Download the Rork app from the App Store or Expo Go
- Android: Download the Expo Go app from Google Play
- Run
bun run startand scan the QR code from your development server
Run bun start-web to test in a web browser. Note: The browser preview is great for quick testing, but some native features may not be available.
You can test Rork apps in Expo Go or Rork iOS app. You don't need XCode or Android Studio for most features.
When do you need Custom Development Builds?
- Native authentication (Face ID, Touch ID, Apple Sign In)
- In-app purchases and subscriptions
- Push notifications
- Custom native modules
Learn more: Expo Custom Development Builds Guide
If you have XCode (iOS) or Android Studio installed:
```bash
bun run start -- --ios
bun run start -- --android ```
-
Install EAS CLI:
```bash bun i -g @expo/eas-cli ```
-
Configure your project:
```bash eas build:configure ```
-
Build for iOS:
```bash eas build --platform ios ```
-
Submit to App Store: ```bash eas submit --platform ios ```
For detailed instructions, visit Expo's App Store deployment guide.
-
Build for Android:
```bash eas build --platform android ```
-
Submit to Google Play: ```bash eas submit --platform android ```
For detailed instructions, visit Expo's Google Play deployment guide.
Your React Native app can also run on the web:
-
Build for web:
```bash eas build --platform web ```
-
Deploy with EAS Hosting: ```bash eas hosting:configure eas hosting:deploy ```
Alternative web deployment options:
- Vercel: Deploy directly from your GitHub repository
- Netlify: Connect your GitHub repo to Netlify for automatic deployments
This template includes:
- Cross-platform compatibility - Works on iOS, Android, and Web
- File-based routing with Expo Router
- Tab navigation with customizable tabs
- Modal screens for overlays and dialogs
- TypeScript support for better development experience
- Async storage for local data persistence
- Vector icons with Lucide React Native
``` ├── app/ # App screens (Expo Router) │ ├── (tabs)/ # Tab navigation screens │ │ ├── _layout.tsx # Tab layout configuration │ │ └── index.tsx # Home tab screen │ ├── _layout.tsx # Root layout │ ├── modal.tsx # Modal screen example │ └── +not-found.tsx # 404 screen ├── assets/ # Static assets │ └── images/ # App icons and images ├── constants/ # App constants and configuration ├── app.json # Expo configuration ├── package.json # Dependencies and scripts └── tsconfig.json # TypeScript configuration ```
For advanced native features, you'll need to create a Custom Development Build instead of using Expo Go.
- Native Authentication: Face ID, Touch ID, Apple Sign In, Google Sign In
- In-App Purchases: App Store and Google Play subscriptions
- Advanced Native Features: Third-party SDKs, platform-specifc features (e.g. Widgets on iOS)
- Background Processing: Background tasks, location tracking
```bash
bun i -g @expo/eas-cli
eas build:configure
eas build --profile development --platform ios eas build --profile development --platform android
bun start --dev-client ```
Learn more:
Integrate with backend services:
- Supabase - PostgreSQL database with real-time features
- Firebase - Google's mobile development platform
- Custom API - Connect to your own backend
Implement user authentication:
Basic Authentication (works in Expo Go):
- Expo AuthSession - OAuth providers (Google, Facebook, Apple) - Guide
- Supabase Auth - Email/password and social login - Integration Guide
- Firebase Auth - Comprehensive authentication solution - Setup Guide
Native Authentication (requires Custom Development Build):
- Apple Sign In - Native Apple authentication - Implementation Guide
- Google Sign In - Native Google authentication - Setup Guide
Send notifications to your users:
- Expo Notifications - Cross-platform push notifications
- Firebase Cloud Messaging - Advanced notification features
Monetize your app:
Web & Credit Card Payments (works in Expo Go):
- Stripe - Credit card payments and subscriptions - Expo + Stripe Guide
- PayPal - PayPal payments integration - Setup Guide
Native In-App Purchases (requires Custom Development Build):
- RevenueCat - Cross-platform in-app purchases and subscriptions - Expo Integration Guide
- Expo In-App Purchases - Direct App Store/Google Play integration - Implementation Guide
Paywall Optimization:
- Superwall - Paywall A/B testing and optimization - React Native SDK
- Adapty - Mobile subscription analytics and paywalls - Expo Integration
For web deployments, you can use custom domains with:
- EAS Hosting - Custom domains available on paid plans
- Netlify - Free custom domain support
- Vercel - Custom domains with automatic SSL
For mobile apps, you'll configure your app's deep linking scheme in app.json.
- Make sure your phone and computer are on the same WiFi network
- Try using tunnel mode:
bun start -- --tunnel - Check if your firewall is blocking the connection
- Clear your cache:
bunx expo start --clear - Delete
node_modulesand reinstall:rm -rf node_modules && bun install - Check Expo's troubleshooting guide
- Check Expo's documentation for native APIs
- Browse React Native's documentation for core components
- Visit Rork's FAQ for platform-specific questions
Rork builds fully native mobile apps using React Native and Expo - the same technology stack used by Discord, Shopify, Coinbase, Instagram, and nearly 30% of the top 100 apps on the App Store.
Your Rork app is production-ready and can be published to both the App Store and Google Play Store. You can also export your app to run on the web, making it truly cross-platform.