How Grublin uses AI, and why I built it

A plain account from the person who made it. What the model does, what our own code does, what leaves your phone, where it can be wrong, and what I think about the fact that it's AI at all.

Grublin uses a small, inexpensive AI language model to write recipe text. Everything around that model is ordinary code written by us: the brief that goes in, the allergen and diet checks that run on what comes out, the metering, the app. Grublin does not train any model on your data, does not store your photos, and does not need an account. It can be wrong, and the app says so wherever a mistake could matter.

Why I built it

Two things happened close together. I was diagnosed with food intolerances, and my whole world shifted. Overnight, every recipe I knew needed re-reading, every meal out needed a conversation, and the easy question of what to cook tonight became a filter problem I had to solve by hand, every night, against the entire internet. Around the same time I noticed how much food I was throwing away, which was money I was throwing away.

A language model turned out to be very good at the specific job those two problems share: take the exact things in front of you, take the exact rules you have to live by, and write a dinner that fits both. Not a search over other people's recipes, but a new recipe for your fridge and your rules. That's Grublin. The goblin is for fun. The rules engine is the point.

What the AI does

The model writes the recipe. Given a brief that describes your ingredients or your craving, your allergens and diet, your kitchen kit, your spice tolerance and who you're feeding, it produces a title, an ingredient list with quantities, a method, timings and the few staples you'll need to buy. It also reads photos for Super Grub: a shelf becomes an ingredient list, a finished dish becomes a one-line description.

That's all it does. It doesn't decide your rules, it doesn't see your other apps, and it doesn't remember you between recipes.

What our own code does

Everything the model shouldn't be trusted with on its own.

  • Builds the brief. The prompt is assembled deterministically from what you've set, the same way every time, and your allergens are stated in it as a critical safety constraint.
  • Checks the result. When the recipe comes back, our code reads every ingredient against lists of allergen terms and the ways allergens hide (soy sauce for gluten, whey for dairy, pesto for nuts), and against the vegetarian, vegan, halal and kosher rules. A hit means the recipe is rewritten before you see it. The model is never the last line of defence.
  • Keeps the shape honest. The model must answer in a fixed structure, so a recipe always has the parts a recipe needs.
  • Meters and pays. The free allowance, the rewarded ads and Premium are plain server code. The model has no idea any of that exists.

The details of what is checked and what is only steered are on recipes for your diet. I'd rather you knew the limits than trusted a vague promise.

Which model, and what it costs

Grublin uses one of Google's smallest Gemini models. I tested it blind against bigger, dearer ones and nobody could tell the dinners apart, so the cheap one stayed. A recipe costs a fraction of a penny and a few seconds of compute, which is why the free tier can exist. Grublin pays for the API; under Google's paid-service terms the content sent is not used to improve their models, and I don't train anything on it either. There is no Grublin model learning from your fridge.

What leaves your phone, and what doesn't

  • Leaves: the ingredients or craving you type, your preferences, and a photo if you take one, sent securely to Grublin's server and on to the model to make the recipe.
  • Doesn't leave: your saved recipes and your preferences as a record. They live on your device.
  • Isn't kept: your photos. Read once, not stored.
  • Isn't collected: an account, a name, an email. An anonymous device token meters the free allowance and that's it.

The full statement is the Privacy Policy; this is the short version in plain words.

Where it can be wrong

It can. A quantity, a timing, a step in the wrong order, occasionally an ingredient you asked to avoid that our check didn't recognise. The allergen disclaimer on every result is not legal decoration; it's the honest state of the technology. Read the recipe before you cook it, and read the labels on what you buy, because Grublin can't.

On AI, plainly

I know AI isn't for everyone, and some of the reasons are good ones. I built this because deciding what to cook with the stuff in the fridge, inside rules I didn't choose, is a small daily problem that a small model solves well, and because the food I was binning was money. I've tried to use it narrowly, check it properly, pay for it fairly and say clearly where it falls short.

If you'd rather not use AI at all, that's a fair position and this app won't suit you. If you're curious, the rest of this page is exactly what it does. Live and let live.

Questions people ask

Is Grublin AI?

Yes. A small Gemini language model writes the recipe text and reads photos. Everything around it, including the allergen and diet checks on the finished recipe, is ordinary code written by us.

Which AI model does Grublin use?

One of Google's smallest Gemini models, chosen because a blind test showed bigger ones made no better dinner. A recipe costs a fraction of a penny.

Does Grublin train on my data?

No. Grublin trains nothing. The API is used on paid terms under which the content is not used to improve Google's models, and photos are not stored.

Can I use Grublin without AI?

No. Writing a recipe from your exact ingredients and rules is what the model is for; there is no non-AI mode.

Can the recipes be wrong?

Yes. Quantities, timings and occasionally an ingredient you asked to avoid. Our code re-checks allergens and the enforced diets, but no automated check is perfect, so read the recipe and the labels yourself.