Inspiration
I build a lot of software, and one thing I have noticed is that the best products usually remove decisions instead of giving you more things to think about.
Food is a good example.
There are recipe apps, calorie trackers, grocery apps, meal planners, and AI chatbots everywhere, but figuring out what to eat can still mean using several of them at once.
You find a recipe, check if it fits your goals, see what you already have at home, make a shopping list, figure out where to buy everything, and then finally cook.
I kept wondering why all of that still required so many separate steps.
That is where Prep started.
Prep is an AI-powered meal planning app that creates personalized meals based on your goals, budget, dietary preferences, pantry, appliances, location, and where you shop. It then turns those meals into recipes, nutrition information, and a shopping list.
The idea is simple:
Plan, shop and cook better.
What it does
Prep learns enough about you to make useful recommendations without making onboarding feel like a questionnaire.
It can take into account:
- Your country and preferred grocery stores
- Dietary restrictions and allergies
- Calorie and protein goals
- Household size
- Food budget
- Favorite cuisines
- Ingredients already in your kitchen
- Appliances you have
- How much time you want to spend cooking
From there, Prep can generate a personalized meal plan in seconds.
I also wanted Prep to work across different cuisines. Someone should be able to ask for Nigerian food, Indian food, American food, Mediterranean food, Mexican food, or a combination of them without the product feeling like it was designed around one type of diet.
Each meal can include a photo, ingredients, instructions, serving sizes, calorie and macro breakdowns, substitutions, and the appliances needed to prepare it.
Prep also builds the shopping list automatically and combines ingredients across recipes. If you already have something in your pantry, it does not need to tell you to buy it again.
Over time, Prep can go even further by matching those ingredients to actual products available at the grocery stores a user shops at.
How I built it
I did not want Prep to just be an AI prompt wrapped in a mobile app.
The mobile app is built with Flutter, giving me one codebase across iOS and Android.
The backend is built in Go and is separated into areas such as users, recipes, meal plans, pantry inventory, nutrition, shopping lists, retailers, subscriptions, and AI services.
I also built a separate administrative system so recipes, ingredients, cuisines, retailers, content, users, subscriptions, and AI-generated output can be managed without directly editing production data.
One of the most important decisions was not letting the language model control everything.
AI is useful for understanding intent and personalization, but nutrition, allergens, quantities, and structured meal data need to be handled more carefully.
The meal planning flow works roughly like this:
- Understand the user's goals and preferences.
- Load pantry and appliance information.
- Determine nutrition and budget constraints.
- Find suitable meals and recipe candidates.
- Use AI to personalize the plan.
- Validate the output.
- Generate the shopping list.
- Match ingredients to retailer products where possible.
I also put the AI layer behind an abstraction instead of tying the product to one model provider. That means different models can be evaluated or swapped without redesigning the rest of Prep.
A major product decision was also to make Prep not look like an AI app.
I did not want glowing gradients, robot icons, or a giant chat screen.
The AI should disappear into the product.
Users should not need to learn how to prompt a model just to plan dinner. They can simply say things like:
Make this week cheaper.
Give me Nigerian meals instead.
Use the chicken in my fridge before it expires.
Keep every dinner under 30 minutes.
I only have an air fryer and microwave.
Prep then changes the actual structured meal plan instead of just responding with text.
Challenges I faced
The biggest challenge was balancing personalization with simplicity.
The more Prep knows about someone, the better its recommendations become. But nobody wants to answer twenty questions before seeing anything useful.
I had to decide what Prep genuinely needs during onboarding and what it can learn gradually through normal usage.
AI reliability was another major challenge.
For a product involving food, the system cannot casually ignore an allergy or invent nutritional information. I separated generative tasks from information that needs to be deterministic and added validation around generated meal plans.
Retail integration is also difficult because grocery inventory and product data vary significantly between retailers and countries.
Instead of designing Prep around one grocery chain, retailer integrations use a provider-based architecture so stores and markets can be added independently.
The final challenge was keeping the product simple.
Prep touches meal planning, recipes, nutrition, pantry management, shopping, retailers, and AI personalization. I did not want it to feel like six different products stitched together.
What I learned
The biggest thing I learned is that generating a recipe is actually the easy part.
The hard problem is constraint satisfaction.
A useful meal recommendation may need to account for taste, nutrition, allergies, price, serving size, location, ingredient availability, pantry inventory, appliances, preparation time, and repetition at the same time.
A recipe can be completely valid and still be a bad recommendation for a specific person.
Localization was another big lesson.
Someone shopping at H-E-B in Texas has a very different grocery environment from someone shopping at Tesco in London, Loblaws in Toronto, or a local supermarket in Lagos.
It is not just about changing currencies. Ingredient names, brands, measurements, package sizes, retailer availability, and even common meals can change depending on where someone lives.
That is why retailers, products, cuisines, and AI providers are modular parts of the system rather than being hard-coded around one market.
What's next
Prep is available globally, so the next step is not simply entering more countries. It is making the experience feel increasingly local wherever someone uses it.
That means going deeper on:
- Retailer and grocery integrations in more markets
- Better localization for ingredients, measurements, currencies, and product availability
- Barcode and receipt scanning
- Automatic pantry updates
- Expiration-aware meal recommendations
- Household meal planning
- More cuisines and regional food
- Better personalization based on what users actually cook, skip, repeat, and enjoy
The long-term idea is for Prep to sit between three things people already do every week:
Deciding what to eat, buying the food, and cooking it.
Less time figuring out dinner.
I wrote the first lines of code on sept 18th 2026 and I already have 37 users & $20 in Revenue
Android got approved (PlayStore), today (09/22/26): https://play.google.com/store/apps/details?id=com.tovaplatforms.prep
iOS: https://apps.apple.com/us/app/prep-ai-meal-planner/id6814029890
Log in or sign up for Devpost to join the conversation.