Inspiration
The inspiration for StillFresh came from a very relatable personal experience. When I moved out for university and started cooking on my own, I had the best intentions. I would go grocery shopping and stock up on fresh fruits and vegetables. But without fail, they would get pushed to the back of the fridge and forgotten.
A week later, I'd reach for a snack only to find the food had spoiled, forcing me to throw it out. It was incredibly frustrating to watch my grocery budget go straight into the trash. I realized that if I just had a friendly reminder on my phone a day or two before the food expired, I would have gladly eaten it.
I decided to take matters into my own hands and build a solution. I created a simple prototype for myself, and it worked beautifully as my food waste dropped significantly. Seeing how much it helped me, I realized this could benefit a lot of other people facing the exact same problem.
What it does
StillFresh is a smart digital inventory and food waste reduction app designed to be as effortless as possible. Instead of manually typing out everything in your fridge, you simply snap a photo of your groceries. Our AI instantly logs the items, categorizes them, and auto-predicts their expiration dates.
Before your food goes bad, StillFresh sends you a timely push notification reminding you to eat it. If you're not sure what to make, you can select your remaining ingredients, and the app will generate custom AI recipes for you. We also included a personal impact dashboard so you can track the money you’ve saved and the CO₂ emissions you’ve prevented!
How we built it
We wanted the app to feel snappy, responsive, and native, so we chose a modern mobile stack:
- Frontend: Built with React Native and Expo, utilizing Expo Router to ensure smooth and reliable screen navigation.
- Backend: Powered by Supabase for our database and user accounts. Because we handle personal data, we implemented a custom secure store to keep everything safely encrypted on the device.
- The AI Brain: We integrated Gemini to power the vision scanning and recipe generation. To keep the app fast and secure our API keys, we routed all the heavy AI logic through serverless Supabase Edge Functions.
- Subscriptions: We used RevenueCat to seamlessly manage our StillFresh Pro tier and handle App Store subscriptions.
Challenges we ran into
Building a smart, AI-driven utility app was an incredible learning experience, but it definitely came with a few hurdles:
- Perfecting the AI: Getting the AI to look at an everyday photo of a grocery haul and accurately identify the item, its category, and its estimated expiration date was surprisingly tricky. It took quite a bit of prompt engineering and edge-function tweaking to get reliable, consistent results.
- Reliable Push Notifications: Sending a reminder sounds simple, but managing local notifications when the app is closed or the user has a poor internet connection was a significant challenge. We had to implement robust logic to ensure alerts arrived exactly when needed.
- Architecting the Monetization Layer Integrating RevenueCat for our premium subscription tier required seamlessly syncing monetization states across our React Native frontend and Supabase backend. The main challenge was securely mapping Supabase authentication IDs to RevenueCat customer profiles in real-time, without degrading app startup performance. I built a centralized state management system that handles network latency, manages graceful fallbacks for web environments where native paywalls are unavailable, and ensures smooth transitions between free and paid UI states. This architecture decoupled the billing logic from our UI, resulting in a reliable and native-feeling premium experience.
Accomplishments that we're proud of
I am incredibly proud of how polished and seamless the final product feels. Taking a picture of your groceries and watching the app magically organize your digital fridge is a rewarding "wow" moment every single time. I'm also really proud of pushing through the tougher parts of mobile development like implementing haptic feedback, skeleton loaders, and a offline mode to ensure StillFresh feels like a premium, professional application.
What we learned
Building StillFresh was a fantastic deep dive into full-stack mobile development. I learned how to piece together a complex app from scratch, how to securely orchestrate AI API calls on the backend, and how much dedication goes into the final 10% of UI/UX polish.
Above all, I learned that the best motivation for writing code is building something that solves a genuine, everyday problem you experience yourself.
What's next for StillFresh
- Android Expansion: We plan to expand the app's availability by launching a fully optimized Android version, bringing our food waste reduction tools to a wider audience.
- In-House ML Models: Down the road, we aim to train and deploy our own proprietary machine learning models to analyze food expiration more accurately and reduce reliance on third-party APIs.
- Smart Grocery Lists: Introduce an intelligent shopping list feature that automatically suggests items based on past consumption patterns and currently depleted inventory.
- Community Sharing: Develop community features that allow users to share leftover ingredients or excess groceries with neighbors to further combat food waste locally.
- Advanced Nutritional Insights: Provide users with detailed nutritional tracking and insights based on the food they consume versus the food they waste.
Built With
- deno
- expo.io
- gemini
- openai-api
- postgresql
- react-native
- revenuecat
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.