Inspiration

Most nutrition apps make food feel like a spreadsheet: calories, macros, restrictions, and guilt.

I wanted to build something that felt more human.

Abbey’s Bite is built around one simple idea:

Eat what you love. Add what helps.

Instead of telling users to replace their meals, Abbey’s Bite looks at what they are already eating and suggests small, practical additions around protein, fibre, healthy fats, plant variety, and satisfaction.

What it does

Users can snap a photo of their meal and get a few useful suggestions almost immediately.

From there, they can continue the conversation through Chat or Live voice, log the meal to their Journal, revisit previous meals, discover community recipes, and build a more useful picture of their eating habits over time.

The experience is designed to stay supportive rather than restrictive — no calorie obsession and no labeling food as “good” or “bad.”

How I built it

Abbey’s Bite is built with Kotlin Multiplatform and Compose Multiplatform, with Supabase powering authentication, storage, community features, and user data.

The AI runs locally using Gemma 3n E2B, allowing meal-image analysis and conversations to happen on-device instead of depending on a paid cloud LLM for every interaction.

I also integrated:

  • RevenueCat for subscriptions and premium access
  • AdMob for free-tier monetization
  • OneSignal + FCM for notifications
  • structured meal, user, and daily context so the AI can remember what matters without repeatedly processing huge histories

Challenges

The hardest part was making a large multimodal model feel like a real mobile product.

I had to work through model size, memory usage, image preprocessing, response latency, interrupted downloads, and keeping the interface responsive while inference was running.

Another challenge was making the AI useful without turning it into a generic chatbot. It needed to understand dietary preferences, allergies, the current meal, and what the user had eaten earlier that day while still keeping responses short and practical.

What I learned

This project taught me that building an AI product is much more than connecting a model to an interface.

A good experience depends on context, latency, privacy, reliability, design, and restraint.

The biggest lesson was that AI does not need to replace a user's decisions to be useful. Sometimes the most valuable thing it can do is help someone make the meal they already enjoy just a little better.

Built With

  • admob
  • ai-chat
  • android
  • compose-multiplatform
  • computer-vision
  • firebase-cloud-messaging
  • food-tech
  • gemma-3n
  • generative
  • health-&-fitness
  • image-analysis
  • kotlin-multiplatform
  • litert
  • local-ai
  • mediapipe
  • mobile-app
  • multimodal-ai
  • nutrition
  • offline-ai
  • on-device-ai
  • onesignal
  • privacy-first-ai
  • revenuecat
  • supabase
  • voice-ai
Share this project:

Updates

Submission history