omi icon indicating copy to clipboard operation
omi copied to clipboard

Rebuild app in React Native

Open kodjima33 opened this issue 9 months ago • 38 comments

Let's fully rebuild main omi ai app in React Native (there is a bigger community)

how we will assign this task:

  1. please try to build an example of omi in react and send demo
  2. or send links your best react projects with the biggest traction (how many users/revenue) /bounty $20000

This is a multi-month project that requires:

  • [ ] previous successful react projects with hundreds of thousands of users
  • [ ] or traveling to San francisco to build from our office

--

thinh's comments: resources that might help https://github.com/BasedHardware/omi/issues/1944#issuecomment-2785661389

kodjima33 avatar Mar 04 '25 07:03 kodjima33

💎 $20,000 bounty • omi

Steps to solve:

  1. Start working: Comment /attempt #1944 with your implementation plan
  2. Submit work: Create a pull request including /claim #1944 in the PR body to claim the bounty
  3. Receive payment: 100% of the bounty is received 2-5 days post-reward. Make sure you are eligible for payouts

Thank you for contributing to BasedHardware/omi!

Add a bountyShare on socials

Attempt Started (GMT+0) Solution
🟢 @bibekkd Mar 4, 2025, 11:17:35 AM WIP
🔴 @Rutik7066 Mar 4, 2025, 6:09:50 PM WIP
🟢 @ryenguyen7411 Mar 4, 2025, 6:16:32 PM WIP
🟢 @Myestery Mar 5, 2025, 2:49:44 PM WIP
🔴 @shivansh193 Mar 5, 2025, 8:12:53 PM WIP
🟢 @kamolesh97 Mar 10, 2025, 2:06:16 PM WIP
🟢 @itsparser Mar 22, 2025, 4:28:29 AM WIP
🟢 @Raheman-08 Mar 26, 2025, 6:22:28 PM WIP

algora-pbc[bot] avatar Mar 04 '25 07:03 algora-pbc[bot]

cool example https://github.com/ex3ndr/glassium

kodjima33 avatar Mar 04 '25 07:03 kodjima33

/attempt #1944

I have decided to implement this using the tech stack and dependencies similar to the Glassium project. This will ensure a modern, scalable, and high-performance React Native implementation of Omi.

Implementation Plan

1️⃣ Project Setup & Dependencies

  • Initialize a new React Native Expo project (npx create-expo-app@latest).
  • Use Expo Router for file-based routing.
  • Configure TanStack Query or Jotai for state management as per requirement.

2️⃣ Core Features Implementation

  • Replicate Omi’s core functionalities using React Native components.
  • As AI integration with a backend already exists, I don’t need to worry about it.
  • Optimize performance and responsiveness.
  • Lock the feature to the current version 1.0.57.

3️⃣ UI/UX Design

  • Create a modern and intuitive UI inspired by the original Omi app.
  • Ensure the design is mobile-friendly and accessible.

4️⃣ Testing & Debugging

  • Write unit and integration tests using Jest and React Native Testing Library.
  • Debug and optimize performance.

5️⃣ Final Review & Submission

  • Ensure all functionalities match the existing Omi app.
  • Document the setup and usage instructions.
  • Submit a PR with /claim #1944 for review.

Let me know if you need any changes before I proceed! 🚀

Options

bibekkd avatar Mar 04 '25 11:03 bibekkd

Hello, I have a few queries about this task:

  1. If assigned what might be the timeline for the final app delivery
  2. For the demo what might be the expected core functionalities
  3. What are the expected features for v1 of the rebuild
  4. Can we work as a team of 2-3 for the rebuild
  5. Any specific requirement you might want us to keep in mind
  6. How will the rebuild go along with the other functionalities/services that are being built in parallel

@kodjima33

nishantkluhera avatar Mar 04 '25 11:03 nishantkluhera

After checking out your Omi app code, I'd strongly recommend using React Native CLI instead of Expo for the conversion. Expo's limitations with Bluetooth and native modules would be a dealbreaker for your device integration. Also, one would definitely need an actual Omi device for testing - there's no way to properly simulate your custom BLE protocol, firmware updates, or audio processing. Bluetooth connections are too unpredictable to rely on mocks alone, and one would risk building something that works in theory but fails with real hardware. Another challenge will be recreating your background services for continuous device communication and the audio processing pipeline with the Opus codec - these are non-trivial to implement in React Native and would require careful testing with the actual device.

PaperBoardOfficial avatar Mar 04 '25 13:03 PaperBoardOfficial

I don’t have any issue with this; I can use React Native CLI instead of Expo to handle Bluetooth and native modules properly.

Other than this, are there any additional conditions or specific requirements I should follow for device integration, background services, or the audio processing pipeline? Let me know if there are any key considerations before I proceed.

bibekkd avatar Mar 04 '25 13:03 bibekkd

How would you do E2E testing without the omi friend device?

PaperBoardOfficial avatar Mar 04 '25 14:03 PaperBoardOfficial

As I am building the main Omi AI app, most of the functionalities can be tested using mobile devices or an emulator. In cases where the Omi Friend device is required, I will collaborate with individuals who have access to one to ensure proper testing.

bibekkd avatar Mar 04 '25 17:03 bibekkd

/attempt #1944
@bibekkd How about collab?

Algora profile Completed bounties Tech Active attempts Options
@Rutik7066 12 bounties from 9 projects
Go, TypeScript,
Rust & more
Cancel attempt

rutikthakre avatar Mar 04 '25 18:03 rutikthakre

/attempt #1944

Hey @kodjima33 and the Omi team! 👋

My team (based in Vietnam) and I are excited about rebuilding the Omi AI app in React Native. Here’s our straightforward plan to tackle this:

Tech Stack

  • React Native + Expo: The go-to combo for scalable, high-performance apps.
  • State Management:
  • Styling:
    • I’ve built a Tailwind-like utility-first solution (way before NativeWind existed 😄). Key values:
      • Write CSS directly (supports variables, calc, media queries, dark mode). Cascading styles also work, yes, you can define style like color, font-size, … at root component and it will apply to all descendent!!
      • Auto-handles unsupported React Native styles (e.g., outline, position: fixed).
  • Testing: Focus on critical features with unit tests (100% coverage might be tough, but we’ll prioritize stability).

Task Breakdown & ETA

Rough estimate: ~90 days (ETA might not be very accurate at this point).

Screen 1: Onboarding

  • Simple multi-step UI.
  • Persist state to storage so it doesn’t reappear after setup.

Screen 2: Home

  • Audio recording will be handled by expo-av library.
  • Otherwise there’re full of basic UI + API calls, so I will use TanStack Query for best performance.

Screen 3: Chat

  • Streaming API integration (it works well in the current app, should not be a problem with React Native).

Screen 4: Explore

  • It has couple of filter/search functionality, also app listings.
  • For WebView implementation for subscribed apps, we can consider following 2 options:

Screen 5: User & Settings


Libraries for Performance


Engineer Team Lineup 👨💻

Lead Engineer - @ryenguyen7411

  • 8+ years with React (ReactJS + React Native).
  • Owns: App architecture, core features, and code quality.
  • Bonus superpower: Deep React ecosystem knowledge (state patterns, component architecture) from years of web + mobile work.

Senior Mobile Engineer - @phuongddx

  • 7+ years in native mobile (iOS/Android) + 3 years React Native.
  • Brings: Platform-specific optimization hacks and cross-device polish.

Let me know if you’d like to tweak any part of this plan! Happy to discuss details or adjust timelines based on your needs. 🚀

Cheers, Rye Nguyen

Options

ryenguyen7411 avatar Mar 04 '25 18:03 ryenguyen7411

hi folks, tell us more about how you understand the main omi ai app. we want to ensure you haven’t missed any important core features that could prevent you from building a good product.

regarding the tech stack, I care about:

  1. how big and experienced the community is.
  2. how simple the technology (tech stack) is.
  3. any limitations.

regarding the product (app), I care about:

  1. how straightforward(and, solid) the architecture is (connectivity management, data flow, state management).
  2. how convenient the UX is.

regarding you (your team), I care about:

  1. how much experience you have.
  2. how fast you can deliver a high-quality (9/10) product.

beastoin avatar Mar 05 '25 03:03 beastoin

Hi @beastoin, here’s my overview:

regarding the tech stack

  1. The community is fairly large and experienced, comparable to Flutter or Xamarin. We have extensive libraries for most features, reducing the need to reinvent the wheel.
  2. Regarding simplicity, Expo simplifies RN development. Shared technologies with ReactJS (e.g., TanStack Query, Zustand) are also help a lot.

There are some specific hardware features I haven’t worked with yet, but the documentation is clear and well-written, so I'm not worried about that.

  1. About limitations:
  • Performance: It’s improved significantly with the new architecture, comparable to competitors but not native.
  • App Size: Larger due to the JS runtime (Hermes, ship within the app for better performance), especially for small apps. For quick reference, a "Hello World" app takes ~20MB on React Native, ~7MB with Flutter, and 4-5MB with native solutions.
  • Security: A typical React Native app depends on third-party packages, requiring careful selection and monitoring.

regarding the product (app)

  1. React Native (or more precisely React) uses one-way data binding, that simplifying data flow. Hooks and libraries like TanStack Query, Zustand also enhance and simplify state management.
  2. Regarding UX, React Native can implement simple to complex UI/animations. Tailwind CSS (via my private library or NativeWind) also speeds up development for typical UX/UI.

regarding me and my team

  1. I’ve already mentioned our team's experience here.
  2. Great things take time, but in my view, 70% of the app consists of typical UI elements that can be implemented quickly without issues.

ryenguyen7411 avatar Mar 05 '25 06:03 ryenguyen7411

/attempt #1944

Proposal to Rebuild Omi App in React Native

General Overview

The proposal outlines a comprehensive plan to rebuild the OMI AI application using React Native framework. This strategic shift leverages React Native's extensive community support, cross-platform capabilities, and robust ecosystem to enhance the OMI user experience while streamlining development and maintenance processes.

Background and Experience

Team Overview

We are experienced professionals specialized in React and React Native based applications.

Demo Implementation

We have taken our time to review the existing implementation and come up with something smooth and minimal as a case study and just require your approval to complete the application. Below is a react native implementation of the onboarding flow as implemented in https://github.com/Veri5ied/omi

Image Image Image Image

https://github.com/user-attachments/assets/a9b4a483-9dd4-4aa6-9978-0f61474c63c5

Algora profile Completed bounties Tech Active attempts Options
@Myestery 2 bounties from 2 projects
MDX, TypeScript,
JavaScript & more
Cancel attempt

Myestery avatar Mar 05 '25 14:03 Myestery

/attempt #1944

I’ve decided to implement this using a robust and scalable React Native architecture, ensuring high performance and maintainability while leveraging the strengths of the React Native ecosystem.

Implementation Plan 1️⃣ Project Setup & Dependencies

Use React Navigation for seamless routing and navigation. Not using Expo router as it reduces scope for customisation. Implement Zustand or Redux for efficient and scalable state management. Set up React Native Reanimated and Gesture Handler for smooth animations and interactions. 2️⃣ Core Features Implementation

Recreate Omi’s core functionalities using optimized React Native components. Ensure AI integrations are properly connected to the existing backend. Optimize for performance and responsiveness, ensuring minimal lag and smooth user experience. Lock the implementation to version 1.0.57 for consistency. 3️⃣ UI/UX Design

Develop a sleek, modern, and intuitive UI that mirrors the original Omi app. Ensure the design is adaptive, responsive, and mobile-friendly across different screen sizes. Incorporate dark mode support and other accessibility improvements. 4️⃣ Testing & Debugging

Implement unit and integration tests using Jest and React Native Testing Library. Debug and optimize performance for both Android and iOS platforms. Ensure compatibility with the latest versions of React Native and dependencies. 5️⃣ Initial v0 Release & Submission

Ship a working v0 prototype within a week before finalizing the complete implementation. Gather feedback and iterate based on suggestions. Finalize the project and submit a PR with /claim #1944 for review. Excited to get started on this! Let me know if you have any specific preferences before I proceed.

Options

shivansh193 avatar Mar 05 '25 20:03 shivansh193

@kodjima33 I have built an example of an Omi React app with a minimal UI and features.

GitHub Repo: https://github.com/bibekkd/omi-demo-app

Demo Video:

https://github.com/user-attachments/assets/ea6dff51-9ad3-4dab-b7ad-1baf2bc14261

@beastoin I have used bare React Native CLI to avoid all the issues mentioned, ensuring better support for Bluetooth, native modules, and background services. The app is built using React Native, which has a large and experienced community. The tech stack is simple, with minimal limitations and no unnecessary complexity.

@PaperBoardOfficial I have used bare React Native CLI to avoid all the issues you mentioned. This ensures better support for Bluetooth, native modules, and background services.

For the app, I have focused on a straightforward design and simple architecture, ensuring solid connectivity management, data flow, and state management. Additionally, I am bringing in more experienced teammates to deliver a high-quality product (9.9/10) within a promising timeline.

I am very excited to build this app! Can you let me know what I need to do to get assigned this task? I’d be happy to take it on! 🚀

bibekkd avatar Mar 06 '25 11:03 bibekkd

Hey @bibekkd @shivansh193, I’d argue against saying "choosing Expo for rebuilding the Omi AI app isn’t a good choice". Feel free to convince me, but let me explain:

It’s 2025, and Expo’s fully native-compatible now. I haven’t run into any real limits with things like BLE, audio processing, or any hardware features I know of. The docs Add custom native code totally back that up. Plus, React Native itself even recommends you toward frameworks like Expo in their setup guide. So it’s not like Expo can’t handle it.

The limitation is applied for Expo Go - it’s okay for demos or simple apps, but I never use it for anything serious. Every time I start something new (and I’ve started quite a lot), I skip it completely. If you’re ~50% sure there’s a specific feature Expo struggles with these days, hit me with it. I’m open to switching my mind if it’s legit!

ryenguyen7411 avatar Mar 07 '25 07:03 ryenguyen7411

@ryenguyen7411 I’m not against using Expo at all. I’m just following the instructions provided by the collaborators and @PaperBoardOfficial.

bibekkd avatar Mar 07 '25 17:03 bibekkd

@kodjima33 Hi,

Here's my proposal

Currently I hold the #1 rank on Algora at 198 bounties completed for 33 organizations

Image

As for building with React Native I have real world experience as I have built one for my SaaS https://assetalert.io/ which was sold to a private buyer for undisclosed sum sometime ago.

Although the App is no longer on the App store you can find an archived preview at

https://web.archive.org/web/20240227080420/https://play.google.com/store/apps/details?id=com.assetalert.app

Image

I have also authored a native library for Expo used in production by many

https://www.npmjs.com/package/expo-device-performance

neo773 avatar Mar 08 '25 01:03 neo773

@kodjima33 hi i can take this, I've been long developing with react native since 2017 for govt mobile project such as LMS school 10k download, previously active on reanimated library before i enter blockchain.

My biggest react project is planetix.com with 200k users traction (the main app is react as they have landing ix.foundation, 2nd landing, and react app inside) and was no.1 in polygon 2022. I build their app since beginning

later I quit to build my own comapny THERAS a game projects and ai-projects. I noticed your product, and I already order to test and integrate with my latest social AI mobile app that I will reveal on at the EOM. I really need some physical wearable device. So i will take a look really soon :)

If you want me to handle this rebuild app, i will implement my AI visualizer here that will interactive and connect to ai-agent with any LLM you want. I've been perfecting that feature. The ai-agent will remember conversation that will be stored in vector DB, and become smarter with the base RAG knowledge.

Well, basically you will get all-in one. I might apply the cofounder dating too or partnership later. Contact me at twitter or possible or linkedin

dellwatson avatar Mar 08 '25 04:03 dellwatson

I've built a basic version of the Omi app entirely in React Native, optimizing loading times and keeping external dependencies minimal . The core components from the existing Omi app have been implemented to ensure consistency.

Once the bounty is assigned, I can complete the full integration and project flow within 2-4 weeks, delivering a fully functional, production-ready app.

I’ve also worked on multiple native applications used by my university for daily operations. One of them, the university’s ERP application, has over 10K monthly active users and is currently live in production.

Attaching the demo video and GitHub repository link for reference. Let me know if you have any questions!

github repo: https://github.com/shivansh193/gettingOmiToReact

video:

https://github.com/user-attachments/assets/209d689b-7a24-44c5-a534-9154b8ee655a

shivansh193 avatar Mar 08 '25 23:03 shivansh193

/attempt #1944

Here's a short video about myself, my understanding of the core features, a small demo and my proposal for the task. Would really appreciate if you guys can spare few mins to go through it!. Looking forward to work on it. https://youtu.be/d-5nbRKWcA0

Tool to be used:

  • React-Native CLI ( As I am experienced with CLI and not with expo )

Framework to be used for styling:

  • nativewind ( Tailwind for React-Native ) will be used allowing web devs to easily adapt and modify the code whenever required.

Migration of existing analytics tools:

  • Posthog and Mixpanel will be migrated.

Migration of existing error logging tools:

  • Intabug will be migrated.

Code maintainability and best practices:

  • Will be achieved by following SOLID principles for writing modular code, proper folder structuring, eslint and prettier.
  • Typescript giving type safety.

Testing

  • I will be writing, unit, integration and E2E tests with the goal of 100% code coverage.
  • Proper testing will be required with actual hardware, we can use testflight builds for testing.

Timeline

  • Since quality cannot be compromised, I am asking between 2 - 3 months, but I will try to deliver it much sooner.
  • MVP with core features will be provided in <= 1 month's time.

Questions

  • As pointed out by other dev, how's the rewriting gonna be affected by currently ongoing development of features? Is locking the feature set to the current production version fine in that case ?
  • Do you guys have figma designs for the entire app flow ? If yes, will we be given access If assigned ? as it can significantly improve pace.
Options

kamolesh97 avatar Mar 10 '25 14:03 kamolesh97

@ryenguyen7411 love your experience but didn't see any demos. Can you travel to the US? do you have a demo?

@Myestery thank you for a demo but since you are not in the US, need any proofs of your past successful projects. Unfortunately, demo of 3 screens isn't enough to assign such a task, as we will need to closely collaborate for few months. Can you share most successful projects and metrics? Do you have US visa?

@bibekkd thank you for a demo but since you are not in the US, need any proofs of your past successful projects. Unfortunately, demo of 3 screens isn't enough to assign, as we will need to closely collaborate for few months. Can you share most successful projects and metrics? Do you have US visa?

@neo773 like your expertise, clicked on your linkedin and saw it didn't work = you are in india, correct? Can you travel to the US? We can lock it on you

@dellwatson love the experience - can you travel to the US? do you have a visa? emailed you or text me on telegram @kodjima33

@shivansh193 love the experience - can you travel to the US? do you have a visa? emailed you or text me on telegram @kodjima33

kodjima33 avatar Mar 13 '25 22:03 kodjima33

@kodjima33 did you get a chance to go through my video ? although going through your message, it seems not having a US visa means automatic rejection. I was planning to add core features in the demo.

kamolesh97 avatar Mar 14 '25 04:03 kamolesh97

has it been made or could I give it a try?? I am a MERN Stack dev, could learn it soon

sakshamwithweb avatar Mar 16 '25 08:03 sakshamwithweb

/attempt #1944

Algora profile Completed bounties Tech Active attempts Options
@itsparser 1 bounty from 1 project
TypeScript, Go,
Python & more
Cancel attempt

0xvasanth avatar Mar 22 '25 04:03 0xvasanth

/attempt #1944

I’m rebuilding the Omi AI app from scratch using a fully custom, bare React Native CLI setup — no Expo — to maximize performance, native control, and production readiness. The goal is to deliver a fast, elegant, and scalable AI experience tailored for Gen Z and beyond.


💻 Tech Stack

  • React Native CLI (not Expo) — full native control.
  • TypeScript — safer and scalable codebase.
  • React Navigation (v7) — with gesture support.
  • Zustand — minimal and efficient state management.
  • Voice Integration — using native modules (iOS Speech framework / Android RecognizerIntent).
  • Lottie + Reanimated 3 — modern and fluid animations.
  • Stripe SDK (native) — seamless subscription flow.

🧩 Implementation Plan

1️⃣ App Foundation & Architecture

  • Set up bare React Native app with native modules support.
  • Directory structure based on feature-first architecture (features/, core/, ui/).
  • Build CI/CD-ready config (Fastlane + EAS build or Bitrise).

2️⃣ Core Features

  • Chat Interface
    • Streaming AI responses with markdown/code rendering.
    • Auto-scroll, typing animation, copy/share features.
  • Voice Interaction
    • Record voice input → Convert to text → Send to AI.
    • Text-to-speech output with voice selector and speed controls.
  • Memory & History
    • Persist chat history with local caching and sync.
  • Custom Agents
    • Modular system to define personas (Omi styles, voices, moods).

3️⃣ UI/UX Experience

  • Dark mode first — sleek, Gen-Z aesthetic.
  • Fluid transitions (Reanimated 3).
  • Skeleton loaders for perceived performance.
  • Paywall & onboarding using glassmorphism effects.

4️⃣ Subscription & Limits

  • Stripe SDK (native) with server-side validation.
  • Unlock premium features (voice limit, personality access).
  • Track free usage with Supabase or Firebase.

5️⃣ Testing & Optimization

  • Unit tests (Jest) + UI tests (Detox).
  • Profile startup time, bundle size, and frame drops.
  • Beta testing pipeline (TestFlight + Firebase App Distribution).

📦 Deliverables

  • GitHub repo with complete implementation.
  • Setup guide + developer onboarding doc.
  • Screen recording of key flows (chat, voice, paywall).
  • Test builds for iOS and Android.
  • /claim #1944 once review-ready.
Options

Raheman-08 avatar Mar 26 '25 18:03 Raheman-08

hey guys, since this project is too big, perhaps you'd like to do React SDK first?

We need it by tmrw and it could be a great start - will also give a lot of insight into your skills

🟢 @bibekkd 🔴 @Rutik7066 🟢 @ryenguyen7411 🟢 @Myestery 🔴 @shivansh193 🟢 @kamolesh97 🟢 @itsparser 🟢 @Raheman-08

kodjima33 avatar Mar 26 '25 21:03 kodjima33

Developing SDK will require. I am waiting for it.

rutikthakre avatar Mar 27 '25 06:03 rutikthakre

@kodjima33

I've built a redesigned version of the Omi AI app UI using React Native (bare CLI). The interface has been improved with subtle animations and layout refinements while staying true to the original design. Core components like the chat screen, voice input UI, and theming are implemented with a focus on performance and clean architecture.

I have added both flow Sign In and X account adding flow.

I've also created a fitness tracking app with Apple Watch integration, allowing users to sync workouts and track health data in real time.

Attaching the demo video and GitHub repo below:

GitHub repo: https://github.com/Raheman-08/Omi-Ai.git

Demo video:

Watch here

Raheman-08 avatar Mar 28 '25 04:03 Raheman-08

@Rutik7066 https://www.npmjs.com/package/@omiai/omi-react-native here you are @Raheman-08 nice, time to hire a device and connect it with omi sdk . also, your demo is just a UI with mocking data. any blockers are you facing ? i am happy to help with connecting your demo to the omi backend https://github.com/BasedHardware/omi/issues/1944#issuecomment-2785661389

beastoin avatar Apr 08 '25 08:04 beastoin