Inspiration

The idea for Omni started with a simple realization: when a health emergency happens, people often panic before they know what to do.

In those moments, finding a nearby hospital, identifying a trustworthy medical professional, or even knowing which information to trust can become surprisingly difficult. The information exists, but it is fragmented across maps, search engines, social media, healthcare platforms, and separate wellness apps.

We asked ourselves: what if one app could bring these pieces together?

That became Omni — an AI-powered health companion designed to help people not only respond to health needs, but also understand and manage their health every day.

Instead of building another app that only counts steps or tracks calories, we wanted Omni to connect the entire journey: understand your daily health, find professional help when you need it, and connect with verified doctors when self-service isn't enough.

That idea shaped every major feature we built.


What it does

Omni combines emergency guides, AI-powered wellness tracking, community interaction, and professional healthcare access in one Android application.

🚨 Emergency Button

When every second matters, users shouldn't have to search through multiple apps.

Omni's Emergency Button quickly identifies the nearest hospital, provides a direct route, and displays its contact number, helping users or someone assisting them get to professional medical care as quickly as possible.

🩺 Emergency Guide

In an emergency, knowing what to do while help is on the way can be just as important as finding a hospital.

Omni includes a quick-access Emergency Guide covering common situations such as CPR, suspected heart attacks, and other urgent scenarios, providing clear, step-by-step first-aid guidance designed to help users take appropriate immediate action while seeking professional medical help.

🥗 AI Meal Logging

Users can take a photo of their meal and receive an AI-generated nutritional breakdown, including estimated calories, macronutrients, and ingredients.

The analysis is performed server-side using Gemini, meaning sensitive API credentials never have to be stored on the user's device.

🚶 Health & Activity Tracking

Omni tracks daily steps using the Android hardware step counter and maintains step data reliably even when the application is closed or when the day rolls over at midnight.

Users can also maintain nightly sleep records through a dedicated sleep dashboard.

🏥 Find Healthcare

Omni is designed around the idea that finding healthcare shouldn't require jumping between multiple applications.

Users can discover healthcare professionals and, through the platform's healthcare features, access verified doctors for consultations.

👨‍⚕️ Verified Doctor Marketplace

Doctors go through an administrator-approved verification process before appearing on the platform.

Users can browse doctors, book consultations, and communicate through real-time chat, with Firebase Cloud Messaging used for notifications.

💬 Health Community

Omni also includes a social health feed where users can share posts, interact with content, and follow other users through a story-style feed.

💎 Premium with RevenueCat

Professional healthcare access is part of Omni's premium experience.

We integrated RevenueCat to manage the omni_pro entitlement and in-app purchase flow, allowing premium users to unlock the doctor directory and consultation functionality.

This gave us a way to build monetization directly into the product rather than treating payments as an afterthought.


How we built it

Omni is an Android-first application built with Kotlin and Jetpack Compose.

Our architecture combines mobile-native functionality with a cloud backend:

  • Kotlin + Jetpack Compose — Android client and UI
  • TypeScript + Express — backend services
  • Firebase Authentication — secure user authentication
  • Firebase / Firestore — cloud data storage and synchronization
  • Gemini — AI-powered meal image analysis
  • Android hardware sensors — step tracking
  • Firebase Cloud Messaging — consultation and messaging notifications
  • Google Maps — location-based healthcare discovery
  • RevenueCat — premium entitlements and in-app purchases
  • Render — backend deployment
  • SendGrid — Email OTP notifcations

Architecture

One of our important architectural decisions was keeping the Gemini API key off the Android client. The application sends the meal image to our backend, where the AI analysis takes place, and only the resulting nutritional information is returned to the device.

For RevenueCat, we designed the premium system around the omni_pro entitlement. Rather than scattering payment checks throughout the application, access to premium healthcare functionality is tied to the entitlement, allowing the subscription state to control access cleanly.


Challenges we ran into

Building Omni forced us to solve problems that were considerably more complicated than they initially appeared.

Reliable step tracking

Step counting sounds simple until an application needs to work while it is closed, survive midnight rollovers, and synchronize correctly with cloud data.

We implemented a rollover-safe anchor state machine so that steps taken while Omni is not actively open aren't simply lost when the counter resets.

Connecting AI to a mobile application securely

We wanted AI meal analysis without exposing our Gemini credentials inside the APK.

This led us to separate the Android client from the AI service through our TypeScript/Express backend. Designing that flow while keeping the user experience fast was an important engineering challenge.

Building a real healthcare workflow

A doctor marketplace isn't simply a list of doctors.

We needed to think about verification, roles, consultations, messaging, notifications, and access control. Even for a student-led project, this made us think much more carefully about how real healthcare products need to be structured.

Monetization

Integrating RevenueCat also changed how we thought about premium functionality.

Instead of building the entire application first and adding a payment button at the end, we designed premium access around an entitlement (omni_pro). This helped us separate the business rule — who has access to Pro — from the payment implementation itself.


Accomplishments that we're proud of

We're especially proud that Omni evolved beyond a collection of independent features into a single product experience.

We built:

  • An AI vision pipeline that turns a meal photo into nutritional information.
  • A robust step-tracking system designed to handle app closure and midnight rollovers.
  • A dedicated sleep tracking experience.
  • A community health feed with social interactions.
  • A verified doctor marketplace.
  • Real-time consultation chat and push notifications.
  • A multi-role healthcare workflow.
  • A backend deployed independently from the Android application.
  • A premium healthcare experience powered by RevenueCat.

Most importantly, we are proud that we built something around a real human behavior rather than starting with technology and looking for a problem afterward.

Our starting question was: What happens when someone needs healthcare and doesn't know what to do next?

Omni is our attempt to make that journey less fragmented.


What we learned

The biggest lesson was that building a health application isn't just about adding more features.

It's about connecting the right information to the right person at the right moment.

We learned how seemingly simple mobile features — like step counting or subscriptions — become significantly more complex when reliability and real-world usage are considered.

We also learned the importance of separating responsibilities in an application. Moving AI processing to our backend improved security, while using RevenueCat's entitlement model gave us a cleaner way to manage premium access.

Most importantly, we learned to think beyond the hackathon-project mindset.

We weren't just asking:

"Can we implement this feature?"

We started asking:

"Would someone actually rely on this?"

That change in perspective influenced many of our technical and product decisions.


Why RevenueCat?

For Omni, monetization isn't simply about charging users — it's about controlling access to features that require ongoing infrastructure and professional services.

We use RevenueCat to manage our omni_pro entitlement, which unlocks Omni's doctor directory and consultation experience.

This allowed us to separate payment infrastructure from product access: RevenueCat handles the subscription and purchase state, while Omni's application uses the entitlement to determine whether a user can access Pro healthcare features.

For our team, this made RevenueCat a natural fit for turning Omni from a feature-rich prototype into a product with a sustainable premium model.


What's next for Omni

Omni is currently a prototype, but we see several directions where it could grow.

🧠 A more personalized AI health companion

Instead of analyzing individual meals or sleep records in isolation, Omni could identify long-term patterns and provide personalized, evidence-based wellness insights.

🏥 Expanding the healthcare network

We want to build stronger verification workflows and expand the network of doctors, clinics, hospitals, and other healthcare professionals.

💳 More flexible monetization

RevenueCat gives us the foundation to experiment with different premium offerings, such as advanced AI health insights, expanded consultation features, and family health plans, while keeping entitlement management centralized.

🌍 Making Omni accessible

Our long-term vision is for Omni to become a unified health companion that works particularly well in markets where healthcare information is fragmented and access to trusted professionals can be difficult.

We don't want Omni to replace doctors.

We want it to help people know what to do next.

Built With

Share this project:

Updates

Submission history