ChefBot: from a photo of the fridge to a meal
A cooking assistant that turns whatever is in the fridge into a meal. It began as a GPT (25,000+ conversations, rated 4.7 from 100+ ratings) and continues as a ChatGPT plugin with 18 skills.

The problem
A half-empty fridge and no plan is an ordinary evening problem, and it is a poor fit for a recipe site. Recipes start from a complete ingredient list; the person starts from three things on a shelf and whatever is in the cupboard. When nothing obvious can be made, the food is thrown away and dinner is ordered in.
ChefBot starts from the other end. The person shows it what they have, and it works out a meal from that. The design intent is practical: food that gets cooked is food that is not wasted, and someone who is walked through a method a few times starts to learn it.
What I did
- Designed the retrieval, the prompt logic and the multi-step tool flows of a cooking assistant built on GPT, and published it on the GPT store under my own name.
- Made the central path one flow: a photo of the fridge, ingredient recognition, a recipe, dietary adaptation and a PDF guide, run from a single message.
- Wrote the conversation starters as entry points to that flow, including “Bored? Take a photo of your fridge and we’ll make something!”.
- Iterated the experience using usage patterns and the written feedback that OpenAI forwards to a GPT’s builder.
I did not train the underlying language model. ChefBot is built on GPT, and my work is the orchestration around it.
From GPT to plugin
In 2026 ChatGPT retired custom GPTs in favour of plugins: packages of skills, and optionally a connected server, that ChatGPT loads into a conversation. ChefBot continues as a skills-only plugin, listed in the plugin directory and with its own site at chefbot.neuraltake.com (opens in a new tab) for support, privacy and terms.
The migration tool turned the GPT into a single instruction file. I rebuilt it as eighteen focused skills, each with the conditions that should trigger it, the procedure, the house style and the limits it must state: fridge to meal, recipe scaling, baking formulas, meal planning, cook-along, entertaining, dietary adaptation, nutrition estimates, substitutions, flavour pairings, drink pairings, food safety, equipment adaptation, recipe cards, a recipe doctor, techniques and cuisines, an onboarding skill and the core assistant.
The parts of cooking that should not be left to a language model’s arithmetic became small Python scripts with 94 unit tests, run where the conversation has a code tool and mirrored by a written procedure where it does not: scaling and unit conversion with kitchen rounding, shopping lists merged by aisle, serving-time schedules counted back from the meal, a roast timer with internal temperatures and resting, a dish matcher over a library of 132 dishes, nutrition estimates over a table of 295 ingredients, and baker’s percentages. Reference tables carry the facts that must not drift: regulated allergens and their hidden sources, substitution ratios, safe temperatures and storage times from the FSA and USDA, pairings, equipment conversions. A packaging script checks every listing limit OpenAI publishes before a release is built.
What stayed is the product: the fridge-photo flow and the three conversation starters people already knew. What the plugin cannot do is also worth stating. It is skills only, so it has no accounts and stores nothing between conversations; a saved pantry or recipe book would need a connected server, which this form of plugin cannot add later.
Decisions that mattered
- Start from a photo
- Typing out the contents of a fridge is a chore, and people forget half of it. A photo is one action. Recognising the ingredients is the first stage of the flow, so the person never has to write a list, though a typed list works too.
- One flow, no hand-holding
- Automated here means something specific: recognition, recipe, dietary adaptation and the PDF guide follow from one message, in order, without the person steering each step. The person stays free to interrupt and change course.
- Sparse input is the normal case
- A thin ingredient list is what the assistant is designed for. It is asked to make something good from what is there, and the conversation builds from whatever the person has.
- Dietary needs change the recipe
- A recipe someone cannot eat is no use to them. Dietary adaptation is a stage of the flow, and one of the four conversation starters asks for dietary needs outright.
- End with something to keep
- The last stage writes the recipe up as a PDF guide, so the result outlives the chat and can sit on a worktop while the person cooks.
- Build on GPT, leave the weights alone
- The effort went into the flow around the model. This is a designed product on a third-party model, and I describe it that way.
Reading the signals
The signals shown on this page are coarse: a conversation count, a ratings histogram and short written feedback. They are still enough to work from, read analytically. Which starter leads into the full flow, where a first answer falls short, what people praise in their own words and what they ask for: each points at a part of the flow to change.

The listing shows what the assistant is given to work with: image generation, the code interpreter and data analysis, web search and canvas. The four starters are the front doors. Two lead straight into the flow above (the fridge photo and dietary needs) and two invite exploring a new cuisine.
The ratings histogram is overwhelmingly five-star. A shorter bar of four-star ratings follows, and the three lower bars are slivers. I describe the shape and quote no percentages, because the listing publishes none.
One feedback email, quoted in full below, asks for the assistant to put personalised questions before it recommends anything. That is the most useful kind of note: it names a step the flow could add.
Evidence that it worked
All three figures are from the GPT store listing, from screenshots supplied in September 2026. The listing shows the two counts only as 25K+ and 100+, so they are given here as lower bounds.
- 25,000+
- conversationsShown as 25K+ on the listing. Conversations, not people: one person may have many. Screenshot supplied September 2026.
- 4.7
- rating, from 100+ ratingsOut of five. The histogram is overwhelmingly five-star. Screenshot supplied September 2026.
- Lifestyle
- GPT store categoryListed publicly as ChefBot GPT, by Michal Kaszubski. Screenshot supplied September 2026.
These figures show adoption: people chose to open ChefBot, and those who rated it rated it well. They do not measure food saved or skills learnt.

What people wrote
OpenAI emails a GPT’s builder when someone leaves written feedback. These are six such emails, quoted exactly as written, slips included. They are the support for the claim that ChefBot is useful to people: several describe cooking from what was already in the kitchen, and one describes growing confidence. They are six voices, chosen by no method, so they illustrate the intent and do not measure it.
Cooking from what is there
“I am able to make good food out of whatever I happen to have.”
Cooking from what is there
“Fantastic work, I didn’t even know such a dish was possible with my ingredients! Amazing!”
Learning to cook
“I love my chefbot GPT! it's giving me more confidence in the kitchen. There are things that I already know, but never felt truly confident in until the details were refined by my chefbot. absolutely love it!”
Ideas
“Love it. It always surprises me with inspirational recipe.”
One word, in Spanish or Portuguese
“Útil”
In English: “Useful”.
A criticism
“it's pretty good, it may just be that I don't know how to talk to it but I think it would be nice if it asked personalized question before making recommendation”






Limitations and status
ChefBot is live as a plugin in the ChatGPT plugin directory. It runs on a third-party platform that provides both its hosting and its model, so its availability is outside my control, and opening it requires a ChatGPT account. The figures on this page are the rounded ones OpenAI showed on the GPT listing, taken from screenshots supplied in September 2026. They count conversations, never people, and they belong to the GPT: they do not carry over to the plugin automatically, and no figures are claimed for the plugin.
Less food waste and learning to cook are what the assistant is designed for and what the quoted feedback describes. Neither has been measured. The single exchange shown above was opened from the new-cuisine starter, so this page does not yet show the fridge-photo flow running end to end.
What I learned
With an assistant built on someone else’s model, the product is the flow.
What it asks for, what it does next without being told, and what it leaves the person holding at the end: those were my decisions, and they are what people responded to. I also learned how far a few honest sentences of feedback go. The criticism quoted above is worth more to the next version than another five-star rating.
Try it
ChefBot is in the ChatGPT plugin directory: ChefBot on chatgpt.com (opens in a new tab). The link requires a ChatGPT account. Support, the privacy policy and the terms are at chefbot.neuraltake.com (opens in a new tab). The plugin source, the scripts with their unit tests, the packaging script and the site generator are public at Cashubski/chefbot on GitHub (opens in a new tab). The code is MIT licensed; the skill texts and data stay with NeuralTake.