Blog
A healthy-meal kitchen in the Gulf region cooks fitness meals for subscribers, and every subscriber wants a plan matched to their own body and goal. Done by hand, each plan takes a nutritionist’s time, and the kitchen cannot write one for everyone who signs up. A generic AI could draft a meal plan in seconds, but a real kitchen cannot cook a plan full of ingredients it does not stock. The plan has to use what is in the fridge, hit the right calories and macros, and arrive in a form the kitchen can prepare without a chef redesigning it.
FuelPlan AI is the web app we built to do exactly that. A customer enters their body data, standard formulas work out their nutrition targets, and OpenAI then designs breakfast, lunch, dinner and snacks using only the ingredients and sauces from the kitchen’s own catalogue. Every meal comes back as structured data with quantities and totals, is checked against the targets and the catalogue, and can be regenerated if the customer wants a different set.
Put simply, your data sets your targets, the AI chef builds your meals from what the kitchen actually stocks, and the kitchen cooks them with no redesign. The maths comes from formulas, not the model, so the numbers hold up, and nothing off the catalogue ever reaches a plate.
The goal was an app where a customer enters their details and receives a balanced program the kitchen can cook straight away. For that to work for a real business, generic AI output was never going to be enough, which set a clear list of requirements.
Getting a language model to design real meals that stay inside a fixed ingredient list and still hit exact nutrition targets is the kind of problem that defines good OpenAI app development, because the difficulty is not calling the model but keeping it honest. A plan is built in an ordered flow:
Behind the customer screen, an admin panel manages the catalogue and the generated programs, and an import module reads the kitchen’s list from CSV, JSON or Excel with nutrition values for each item. Building the app, the nutrition engine, the catalogue import and the admin panel as one bespoke Laravel system is custom software development in the proper sense, shaped around one kitchen’s menu rather than a template. Because the planner runs on its own, it is ready to connect to the client’s mobile app when that is done.
The app is built with Laravel and calls the OpenAI API, with structured JSON as the contract between the model and the kitchen. The hard part is not calling the model. It is making the model stay inside the kitchen’s list and produce numbers that add up.
The part worth engineering with care is the boundary between the model’s creativity and the kitchen’s reality. Language models like to suggest ingredients they know, so the prompt lists only catalogue items and the validator throws out any meal that strays, while the totals stay tied to the catalogue’s own nutrition values rather than to numbers the model invents.
The main challenge was keeping the AI inside the kitchen. A model will happily reach for ingredients it has seen elsewhere, which would produce plans the kitchen cannot cook. The fix was two-sided: the prompt gives the model only the catalogue and its nutrition values, and a validator rejects any meal that contains something outside the list, so off-list ingredients never reach a customer.
Two more problems shaped the delivery. The first demo ran on sample ingredients rather than the kitchen’s own catalogue, which produced unrealistic results, so every plan was moved onto the client’s real catalogue and the meal rules were tightened after her review. Model-generated totals can also drift, so calories and macros are tied to the catalogue’s nutrition values and checked against the targets, which keeps what the customer sees matching what the kitchen cooks. Both milestones were paid, and the client commissioned a second phase covering monthly programs, portion safety limits and meal costing.
The app gives the kitchen personal meal programs at scale: a customer enters their data, sees their targets, and receives a full day of meals built only from stock, ready to cook without a chef redesigning it. The working app and its admin panel were delivered with a recorded walkthrough within the agreed timeline across May and June 2025, both milestones were paid, and the client extended the work into a paid second phase, which is the clearest sign the core did its job.
It works because the maths comes first and the AI second, grounded in a closed ingredient list and checked output. If you want AI that produces results a real operation can use rather than plausible-looking text, you can hire AI and ML engineers who have built this kind of grounded, validated pipeline, or tell us how your menu and targets work and our team will map them to an app. It suits any health, nutrition and wellness business turning personal data into a plan.
What is FuelPlan AI?
It is a Laravel web app with an OpenAI-powered AI chef, built for a healthy-meal kitchen. A customer enters their body data, the app calculates their nutrition targets with standard formulas, and OpenAI designs a full day of meals using only the kitchen’s own ingredients, returned as structured data the kitchen can cook from.
How do you stop the AI suggesting ingredients the kitchen does not stock?
The prompt gives the model only the kitchen’s catalogue and the nutrition values for each item, and a validator checks every ingredient in the returned meals against that catalogue. Any meal containing something off the list is rejected, so a customer never receives a plan the kitchen cannot actually prepare.
Are the calories and macros reliable?
Yes, because the numbers come from standard nutrition formulas rather than the model. The engine calculates BMI, daily energy needs and goal-based macro splits, and the totals in each meal are tied to the catalogue’s own nutrition values and checked against the customer’s targets before the program is shown.
Can a customer ask for different meals?
Yes. If a customer is not happy with a program, they can regenerate up to twice, and each regeneration asks the model for a completely new combination rather than small edits. The new set is checked against the catalogue and the targets in the same way before it is shown.
Can this connect to our existing app or grow further?
The planner was built as a standalone app so it can be connected to a mobile app once that is ready. It is also designed to extend: the client commissioned a second phase for monthly programs, portion safety limits and meal costing, all building on the same nutrition engine and catalogue.