Choice, made quick
Pick between dishes and cuisines, then spin once to get an instant answer without the usual dinner debate.
Premium result cards
Each spin lands on a polished result card with a visual food preview and a clean share-ready layout.
Built for re-runs
Free spins, bonus spins, local history, and lightweight caching keep the app fast and repeatable.
Overview
Food Roulette is a playful decision tool for anyone who keeps asking, "What should we eat?" Instead of
scrolling endlessly or arguing in the group chat, the app gives you a smooth, visual wheel that randomly
chooses a dish or cuisine in seconds.
I built it to feel light, fun, and premium at the same time. The app focuses on a fast one-tap spin
experience, real food visuals, local category data, and a result card that feels worth sharing.
Key Features
- Random Food Spinner: Spin for dishes or cuisines with a polished roulette-style UI.
- Local Data: Categories are seeded from local JSON assets so the app stays fast and offline-friendly.
- Spin History: See previous results with date and time so you can revisit your foodie destiny.
- Rewarded Ads: Bonus spins can be unlocked through rewarded ads without adding a paywall.
- Instagram Stories: Share the final result in a clean story format with one tap.
Tech Stack & Tools
- Framework: Flutter, Dart
- Platform: iOS and Android
- Monetization: Google AdMob
- Sharing: Native Instagram Stories integration
- Data: Local JSON assets and cached results
How It Works
The app loads dish and cuisine lists from local assets, builds a dynamic wheel, and records each spin in a
local history log. When the user lands on a result, Food Roulette shows a premium result card and can share
that result straight into Instagram Stories.
Challenges & Solutions
-
Challenge 1: Making the wheel feel satisfying instead of generic
Solution: Tuned the motion, layout, and color treatment so the spin feels tactile and
visually rich.
-
Challenge 2: Keeping the app lightweight with lots of food data
Solution: Used local JSON seeding and caching so the app stays snappy without heavy
network dependence.
What I Learned
- How to make a small utility app feel premium through motion and layout
- How to balance ads, rewards, and user experience without making the app feel pushy
- How to build native handoff flows for sharing results to other apps
- How much polish matters when the product itself is simple
Future Improvements
- Add more category packs and seasonal food suggestions
- Improve result personalization with saved favorites
- Expand the share templates for different social formats
- Refine the data set with even more cuisine and dish variations