Follow these steps to get started with your Omi. Don’t want to bother with code? Use our official version on / store
Before starting, make sure you have the following installed:
Building the app automatically means setting up your environment to use Omi’s Development backend. That makes it much easier for you to get started - with just one command!
This is the best way to get started, make changes to the app, and build apps on Omi.
Alternatively, you can build the app manually (see below) - which allows you to use your own backend, etc.
1. Navigate to the directory:
2. Build the app for iOS:
Note: This works great for iOS simulators! 🎉 Want to run on your real device? Ping us on Discord - we’d love to help! (Apple limits us to 100 dev devices)
3. Build the app for Android:
4. Build the app for macOS:
Note: To run the app on your macOS device, we need to register your Mac’s device ID to our provisioning profile. Please send us your device ID on Discord.
If you use windows run the following commands
4. Run app in simulator:
Now that we’ve built the app, we can run it in the simulator. Open the app in Xcode (open folder app/ios
) or Android Studio (open folder app/android
) - then just hit the run button!
Alternatively, run flutter run --flavor dev
in terminal
Manual setup is useful if you want to build the app with your own backend.
Ensure Flutter is installed by following the official Flutter Installation Guide.
After installation, run the following to verify your setup and see if any additional tools are required:
Example output:
Notes:
This project is tested with specific versions of tools like Flutter SDK, Xcode, Android SDK, NDK, and JDK. Please refer to the app/setup.sh
script for these recommended versions (e.g., Flutter 3.32.4, Xcode 16.4, Android SDK Platform 35, NDK 27.0.12077973, JDK 21).
To ensure Android builds use the recommended JDK version (e.g., JDK 21), you might need to set it explicitly if it was installed separately from Android Studio. For example, on macOS, you can configure Flutter to use a specific JDK path:
flutter
commands are used from the correctly configured Flutter SDK.From within app
directory, install flutter packages:
Navigate to the iOS directory and install the CocoaPods dependencies:
Create .env
using template .env.template
, the env template has OPENAI_API_KEY, GOOGLE_MAPS_API_KEY which are optional.
Add your API keys to the .env
file. (Sentry is not needed)
API_BASE_URL
is your backend url. You can use our dev backend URL https://api.omiapi.com/ or Follow this guide to install backendGenerate necessary files with Build Runner:
This step is mandatory for running the app, otherwise firebase related code needs to be removed from the app.
Follow official Firebase Docs till Step 1
If you want to use Apple login, first go and create an identifier on the apple developer website
Run the following command to register the prod flavor of the app. The command will prompt you to select configuration type
; under it, select Target
and then Runner
Similarly for dev environment
Generate SHA1/SHA256 Keys for your Keystore and add them to Firebase. Follow the steps mentioned in this StackOverflow answer or the Official Docs. This is required for Firebase Auth through Google OAuth to work.
If you’re facing auth issues running the app, enable Google/Apple sign-in in Firebase. Go to the Firebase console and select your project. In the left-hand menu, click on “Authentication.” On the “Sign-in method” tab, scroll down to the “Sign-in providers” section. Click on the “Google” sign-in provider. Click the “Enable” switch to enable Google Sign-In for your Firebase project.
flutter run -v --flavor dev
flutter build apk --flavor dev
To ensure code consistency, we use dart format
with a line length of 120 characters.
To automatically format your code on commit, install the pre-commit hook:
Having troubles? Join Discord and search your issue in help channel