Thanks for your interest in improving Open MobileUI! Bug fixes, new features, documentation, UI/UX polish, performance work, and translations are all welcome.
- 🐛 Bug fixes — help us squash bugs and improve stability
- ✨ Features — propose and build new functionality
- 📝 Documentation — improve docs, add examples, fix typos
- 🎨 UI/UX — refine the mobile experience
- ⚡ Performance — optimize rendering and app responsiveness
- 🌍 Internationalization — add translations for new languages
Before opening an issue, please search existing issues to avoid duplicates.
When filing a new issue, pick the template that fits:
- 🐛 Bug report — for something that's broken. Fill in what happened vs. what you expected, precise steps to reproduce, the app + Open WebUI versions, your device + OS, and screenshots where relevant.
- ✨ Feature request — for new functionality. Describe the use case and the problem it solves, not just the proposed solution.
- Node.js 18+ and npm
- iOS: Xcode 14+ (macOS only)
- Android: Android Studio with the Android SDK
git clone https://github.com/RonasIT/open-webui-react-native.git
cd open-webui-react-native
npm install# Start the Metro bundler (development env)
npx nx start mobile
# Or run directly on a device/emulator (from apps/mobile)
npm run android
npm run iosRunning on a device/emulator requires a development build. Follow the Expo development builds guide to create one (a one-time setup), then start the bundler as above.
To create your own builds you'll need an Expo project of your own:
- Create an account at expo.dev and a new project.
- Note your project
slug,owner, andproject ID. - Provide your project details via environment variables / app config used by
apps/mobile/app.config.ts(e.g.EXPO_PUBLIC_APP_NAME,EXPO_PUBLIC_APP_SLUG,EXPO_PUBLIC_APP_OWNER,EXPO_PUBLIC_PROJECT_ID). - For production builds, configure
eas.jsonfollowing the EAS configuration guide.
npm run lint # tsc + eslint
npm run format # prettier + eslint --fix
npx nx test mobile # run the mobile test suiteSee the root CLAUDE.md and README.md for more on the monorepo architecture and library structure.
- Fork the repository and create a feature branch off
main. - Make your changes, keeping commits focused and following the existing code style.
- Run
npm run lintand the relevant tests — make sure everything passes. - Open a pull request against
mainwith a clear description of what changed and why. Link any related issue. - Be ready to iterate on review feedback.
For larger changes, please open an issue to discuss the approach first — it saves everyone time.
- 📖 Expo development builds
- 📦 EAS Build documentation
- ⚙️ Expo configuration reference
- 🏗️ Nx documentation
By contributing, you agree that your contributions will be licensed under the project's GPL v3 license.