Inspiration

It all started with a midnight craving for instant noodles—and the completely irrational guilt that came with it. We wondered: what if, instead of judging you, an AI roasted your terrible food choices in a way that was hilarious, strangely validating, and still genuinely helpful?

Most food apps fall into two extremes: calorie trackers that quietly shame you, or delivery apps that happily enable every craving. We wanted something in between—a chaotic AI best friend that calls you out, assigns you a ridiculous craving personality, and then helps you satisfy that craving anyway.

The result is Craving.lol: part AI comedian, part personality quiz, part food discovery app.


What it does

Craving.lol is an AI-powered Android app where users type or speak what they're craving, choose an AI personality, and receive a personalized roast along with a Craving Personality chosen from ten unique archetypes like Chaotic Goblin, Midnight Philosopher, or Health Pretender.

Users can switch between four AI personas:

  • 😂 Comedian
  • 🧠 Philosopher
  • ❤️ Therapist
  • 😈 Diet Saboteur

They can also control roast intensity, from Mild to Completely Unhinged.

Once the roast is complete, tapping Find It Near Me opens a dark-mode interactive map powered entirely by OpenStreetMap, showing nearby restaurants without relying on Google Maps.

Beyond the core experience, the app includes:

  • Food mini-games (emoji riddles, calorie guessing, trivia)
  • A community Hall of Shame feed
  • Fake AI alibi phone calls for escaping awkward situations
  • Live AI voice conversations powered by ElevenLabs
  • Personal craving analytics including Goblin Index, Existential Index, streaks, and hourly craving trends

How we built it

The app is built entirely in Kotlin 2.0 using Jetpack Compose, Material 3, and a clean MVVM architecture.

The backend stack includes:

  • Room for local persistence
  • Retrofit for networking
  • Firebase for analytics, notifications, and crash reporting

AI responses are generated using the Groq API. A custom Response Tuning Algorithm dynamically adjusts parameters like temperature and penalties based on the user's craving, time of day, and prompt length, making every roast feel different.

A custom Prompt Builder creates personality-specific system prompts, while the Personality Engine analyzes the AI's response to classify users into one of ten craving archetypes without requiring an additional LLM request.

Restaurant discovery is powered entirely by open-source services:

  • Leaflet.js inside a WebView
  • CARTO Dark tiles
  • OpenStreetMap
  • Overpass API
  • OpenRouteService

Voice interactions combine Android Speech Recognition with ElevenLabs text-to-speech for real-time conversations.


Challenges we ran into

Comedy is surprisingly difficult for AI.

A roast for "pizza" shouldn't sound anything like a roast for "cold leftover pasta at 3 AM." Achieving consistent humor required extensive prompt engineering and dynamic response tuning.

Another major challenge was integrating a fully interactive Leaflet map inside Android. Passing live GPS data, synchronizing JavaScript with native code, and rendering smooth animations through a WebView required careful bridge and lifecycle management.

We also designed our Personality Engine to infer craving archetypes directly from the generated roast, avoiding extra API calls while still producing surprisingly accurate results.


Accomplishments we're proud of

We're especially proud that the app feels like a complete product—not just a hackathon prototype.

Highlights include:

  • Fully open-source restaurant discovery with zero Google Maps dependency
  • Dynamic AI tuning that makes every roast unique
  • AI-generated craving personalities derived from response analysis
  • End-to-end voice conversations from speech input to AI response to natural voice output
  • A polished experience with animations, themes, streak tracking, analytics, shareable roast cards, and integrated mini-games

What we learned

Building AI comedy taught us that prompt engineering is much closer to UX design than traditional programming. Small wording changes dramatically affect tone, pacing, and humor, so we iterated constantly based on real user reactions.

We also learned that WebView-based maps can be a powerful architectural choice when flexibility matters more than native SDK features—as long as state management is handled carefully.

Finally, we discovered that users genuinely enjoy seeing their own behavioral data. Features like the Goblin Index transformed simple history into something people actually wanted to revisit.


What's next

Our roadmap includes:

  • Live community reactions in the Hall of Shame
  • Real-time global craving trends
  • iOS support
  • Personality-specific fine-tuned AI models
  • Weekly craving leaderboards
  • Persistent AI memory that remembers past cravings and references them naturally
  • Restaurant partnerships personalized by craving personality

Note for Judges ❤️

Craving.lol was built with an enormous amount of passion during a hackathon, and we'd truly appreciate you taking a few minutes to try it.

The APK is ready to install, and the complete source code is available on GitHub.

As with any hackathon project, you may encounter the occasional bug. If something doesn't work as expected—a crash, map issue, or voice interruption—please let us know at [email protected]. We'll do our best to resolve it as quickly as possible.

Thank you so much for your time and consideration—we genuinely hope you enjoy getting roasted. 😊


Project Resources

📁 Project Files & Metadata https://drive.google.com/drive/folders/1hQ3kUx95Pk8AYaU0EargVvApVMaP5toz

📲 Download APK https://drive.google.com/file/d/144m5vqOC5AJF6-mqxfQsvlfYmuduGmpN/view

💻 GitHub Repository https://github.com/OverflowX-tech/Craving.lol


Privacy & Safety

Your privacy comes first.

  • No background data collection
  • No personal information harvesting
  • No advertisements
  • Lightweight APK built solely for demonstration

Thank you for taking the time to evaluate our project—we appreciate it!

Built With

  • kotlin
Share this project:

Updates