🧠 Inspiration
We built Mumum to solve a problem we all face:
“What should I eat today?”
Most food apps are either too serious or overloaded with options. We wanted to make something casual, playful, and social — especially for students, young adults, and busy people who just want a quick nudge or a fun push to make a meal decision. The idea came from noticing that people often ask their friends or go through social feeds for inspiration — so why not build a light app around that?
🍱 What it does
Mumum is a mobile app that helps users decide what to eat each day through fun interactions and social inspiration. It includes:
- 🎮 Food Spin Game – Pick a dish from a fun 16-tile randomizer.
- 👫 Friend Feed – See what your friends ate today.
- 🗳 Poll of the Day – Vote on dish polls by country, or create one if it doesn’t exist yet.
- 🔥 Trending Dishes – Discover what's popular in your country this week, based on friend votes and history.
- 📅 Meal History – Track your own eating log by week or month.
Everything is optimized for quick interaction and casual delight.
🛠 How we built it
- Frontend: Expo SDK 53 (React Native), NativeWind for styling, [TypeScript].
- Backend: Supabase (Postgres, Auth, RLS, Edge Functions, Storage).
- Image API: Pexels API to fetch beautiful food images.
We also store a local dataset of 2,000+ dishes in the frontend, and allow users to submit custom dishes if something is missing.
⚠️ Challenges we ran into
- Setting up Supabase guest login using fake email/passwords and managing secure sessions.
- Building a poll system that supports daily, per-country voting with no repeat polls.
- Filtering trending dishes by country based on two separate data sources: votes and history.
- Keeping the UI minimal but still rich enough to deliver value and delight.
- Managing a hybrid data structure (local JSON + server-side custom dish support).
🏆 Accomplishments that we're proud of
- Fully functional MVP built by a solo indie developer.
- Smooth friend system with food feed and history.
- Gamified experience that feels playful, not overwhelming.
- Clean UI that works for both iOS and Android with full localization in 11 languages.
📚 What we learned
- Supabase is a powerful backend platform, especially with features like RLS (Row-Level Security), Edge Functions, and Postgres integration.
However, as a solo developer, we faced several frustrating issues that slowed down development:
- Documentation for key features like Apple Sign-In often led to broken links (e.g.
404pages), which made it difficult to set up authentication properly. - When RLS (Row-Level Security) blocks a query, no error message is returned—only an empty array. This makes debugging extremely confusing, especially for newcomers.
- Supabase Edge Functions lack basic logging or runtime visibility, making them risky to use. We avoided using them in production due to the absence of error feedback.
- The CLI, while powerful, introduced friction. Every new RLS rule or migration required a separate file, making it hard to track what’s currently active. The development workflow felt heavier than expected.
- Documentation for key features like Apple Sign-In often led to broken links (e.g.
It’s possible that our struggles reflect a mismatch between Supabase’s tools and the way we approached development as an indie solo dev. That said, we hope the team continues improving the developer experience — especially for small teams and individuals.
🚀 What's next for Mumum – A Fun Way to Decide What to Eat Today
- Add a home screen widget to show daily dish suggestions.
- Allow users to upload images of meals (with moderation).
- Introduce Pro features: themes, extended history, special game modes.
- Add gamification: streaks, badges, meal achievements.
- Explore lightweight social sharing loops for viral growth.
Built With
- cli
- expo.io
- fastlane
- nativewind
- node.js
- pexels-api
- postgresql
- react-native
- supabase
- supabase-auth
- supabase-edge-functions
- supabase-rls
- supabase-storage
- typescript

Log in or sign up for Devpost to join the conversation.