Michal Kaszubski

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.

Years
2024 to present
Category
Products
Role
Designed the retrieval, prompt logic and multi-step tool flows; orchestration on GPT, not model training
Status
Live as a plugin in the ChatGPT plugin directory (a ChatGPT account is needed); the GPT figures are from the store listing, screenshot September 2026
Evidence
User adoptionProduction deployment
Technologies
ChatGPT plugin (skills), Prompt logic, Multi-step tool flows, Image input, Python, Unit tests, Code interpreter, Web search, Image generation, Canvas
ScreenshotGPT store listing, screenshot supplied September 2026, cropped to the head of the panel. The count is of conversations, not people.

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 the personOne flow from a single message, without hand-holdingPhoto ofthe fridgeor a typed list of whatis in the cupboardIngredientrecognitionwhat is there, readfrom the photoRecipea meal from thoseingredientsDietaryadaptationtailored to the needsthe person statesPDF guidethe recipe as a fileto keepPhoto of the fridgeor a typed list of what is in the cupboardIngredient recognitionwhat is there, read from the photoRecipea meal from those ingredientsDietary adaptationtailored to the needs the person statesPDF guidethe recipe as a file to keepThe first stage comes from the person. The otherfour run as one flow from a single message,without hand-holding.
SchematicThe ChefBot flow, from a photo of the fridge to a PDF guide. Stage names only. The flow is built on GPT, which I did not train.

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 ChefBot GPT store listing: four conversation starters, including Bored? Take a photo of your fridge and we'll make something!; capabilities listed as image generation, code interpreter and data analysis, web search and canvas; and a ratings histogram in which the five-star bar is by far the longest.
ScreenshotGPT store listing: conversation starters, capabilities and ratings. Screenshot supplied September 2026, cropped to the panel.

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.

ScreenshotA real exchange with ChefBot GPT, opened from one of its conversation starters, screenshot supplied September 2026. Cropped to the conversation column; the recipe continues beyond the crop.

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.

  1. Cooking from what is there

    “I am able to make good food out of whatever I happen to have.”

  2. Cooking from what is there

    “Fantastic work, I didn’t even know such a dish was possible with my ingredients! Amazing!”

  3. 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!”

  4. Ideas

    “Love it. It always surprises me with inspirational recipe.”

  5. One word, in Spanish or Portuguese

    “Útil”

    In English: “Useful”.

  6. 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”

OpenAI email: You've received feedback for ChefBot GPT! The user wrote: I am able to make good food out of whatever I happen to have.OpenAI email: You've received feedback for ChefBot GPT! The user wrote: Fantastic work, I didn’t even know such a dish was possible with my ingredients! Amazing!OpenAI email: You've received feedback for ChefBot GPT! The user wrote: 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!OpenAI email: You've received feedback for ChefBot GPT! The user wrote: Love it. It always surprises me with inspirational recipe.OpenAI email: You've received feedback for ChefBot GPT! The user wrote: ÚtilOpenAI email: You've received feedback for ChefBot GPT! The user wrote: 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
ScreenshotsThe six feedback emails from OpenAI, each cropped above its button, screenshots supplied September 2026. The emails carry no name or address of the person who wrote.

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.