experiment
I Tracked a Week of Home-Cooked Food With an AI App. The Barcode Apps Couldn't Handle a Single Meal
A whole week of meals I actually cooked — stir-fries, a curry, homemade soup, leftovers — and not one had a barcode. Here's how the database apps fell apart and how an AI photo tracker handled food that doesn't exist in any database.
I cook most of my food, and for years that quietly wrecked every attempt I made at calorie tracking. Not because cooking is hard to log in theory — because the apps I was using were built for a different kind of eater. They were built for people whose food comes with a barcode. Mine doesn’t. So I ran a deliberate experiment: one full week where I cooked everything at home, nothing with a label on it, and tested whether a calorie app could actually keep up with the way I actually eat.
The rule I set for the week was strict and a little petty: nothing I logged could have a barcode. No packaged dinners, no branded protein bars, no “scan this and you’re done.” Stir-fries, a curry I made up as I went, a big pot of homemade soup that fed me for three days, and the inevitable leftovers eaten cold over the sink. If an app could handle that, it could handle anything. If it couldn’t, all the talk about giant databases was beside the point for someone who cooks.
This is the honest account of that week, friction included.
The problem with cooking from scratch, stated plainly
Here’s the thing nobody warns you about when they tell you to “just track your food.” Tracking advice is implicitly written for people eating products. Log the granola bar, scan the frozen meal, search the brand of yogurt. That advice works beautifully right up until you make something.
When you cook from scratch, the food you’re trying to log does not exist anywhere. There is no database entry for the stir-fry I threw together from whatever was wilting in the crisper drawer. Nobody on earth has entered “Dana’s Tuesday curry” into a crowd-sourced food database, because it has never existed before and will never exist again. It’s a one-off. Every home-cooked meal is, by definition, a thing that isn’t in the database, because the database is a library of products and a home-cooked meal is not a product.
That’s the gap. And for years I papered over it by quietly giving up — logging the packaged breakfast, the labeled snacks, and then just… not logging dinner, the meal I’d actually put effort into. The most caloric, most variable, most worth-tracking meal of my day was the one my app was worst at.
Days 1–2: the barcode apps fail, exactly as I feared
I started the week on the apps I’d used for years — the big database-and-barcode ones. I want to be fair to them, because they are genuinely excellent at the thing they’re for. When your food has a label, they’re hard to beat. Barcode coverage is superb. The database really is enormous.
It’s just enormous in the wrong direction for me.
Night one I made a chicken-and-vegetable stir-fry. I opened the app, typed “chicken stir fry,” and got a wall of options: somebody’s restaurant version, three “homemade stir fry” entries with calorie counts that disagreed by a factor of two, a frozen brand I wasn’t eating, and a generic entry with no oil accounted for at all. None of them were my stir-fry. They couldn’t be — my stir-fry didn’t exist until I made it twenty minutes earlier.
So I did the thing these apps want you to do for home cooking: I started building it as a recipe. Add chicken, weigh it, add the bell pepper, weigh it, add the onion, the soy sauce, the — and somewhere around logging the third vegetable, standing in my kitchen with the food going cold, I felt the exact old feeling that used to make me quit. This was work. This was data entry. I’d cooked a simple weeknight dinner and the app wanted me to file a report about it.
Day two, the homemade soup, was worse, because soup is a portion nightmare. I’d made a big pot. How much was a bowl? What fraction of the total oil and the total everything was in this serving versus the pot? The recipe-building approach technically can handle it, but it asks you to do arithmetic about denominators while your dinner steams on the counter. I logged it, grudgingly, and I understood completely why for years I’d just skipped logging dinner entirely. The friction wasn’t laziness on my part. The tool was genuinely the wrong shape for the food.
By the end of day two my notes said, in slightly defeated handwriting: the database has everything except the thing I actually made.
Days 3–4: the AI app reasons about the dish instead of hunting for it
Then I switched the experiment over to the AI photo app I’d been meaning to put through exactly this test — PlateLens — and the difference was immediate and, honestly, a little disorienting after two days of recipe-building.
I made a curry on day three. Improvised, no recipe, the kind of dish that had defeated the database apps on principle because it had never existed before. I pointed the camera at the bowl. Instead of asking me to find my curry in a list of strangers’ curries, the app reasoned about the bowl in front of it — worked out the components, the protein, the sauce, roughly how much was there — and then it did the thing that actually mattered for home cooking: it asked me to confirm the parts it couldn’t see.
How much oil did this cook in? Roughly what portion of rice? That’s the whole game with scratch cooking. The calories in a home-cooked meal hide in exactly the places a photo can’t reach — the cooking fat absorbed into the food, the real volume of sauce, the density of the rice underneath. A camera can’t see two tablespoons of oil that soaked into a curry. And crucially, the app didn’t pretend it could. It identified the dish, then handed me the two or three decisions that genuinely needed a human, and only those.
That’s the reframe that made the week click. The database apps treat home cooking as a search problem — find your dish in our library — which is hopeless, because your dish was never in the library. The AI app treats it as a reasoning problem — here’s what this plausibly is, now you confirm the hidden bits — which is exactly how I’d think about it myself if I were doing it by hand. It did the tedious identification work and interrupted me only for the judgment calls.
Day four I tested it on the leftovers, because leftovers are the unglamorous reality of home cooking and any app that can’t handle them is useless to me. Cold soup from the same pot, a second serving of the curry. I snapped them, confirmed the portion, done. No re-building a recipe I’d already painfully logged once. The reasoning-plus-confirm approach didn’t care that the food was a one-off and never would be in any database. It just looked at what was on the plate.
Day 5: where I leaned on manual entry, on purpose
I promised honest friction, and here’s the most honest thing about the week: the AI photo path was not the right tool for every meal, and a good app shouldn’t pretend it is.
The rice I cook, I measure the same way nearly every time — a level cup, dry, same pot. I already know that number cold. Pointing a camera at a bowl of white rice to have it estimate what I could type in four seconds would have been theater. So I typed it. Same with the protein I weigh on a kitchen scale: when I already have the precise number in my hand, the fastest log is manual, full stop.
This is where I’d separate a tool I trust from a gimmick I don’t. The whole reason the database apps frustrated me wasn’t that manual entry exists — manual entry is great when you know the number. The frustration was being forced down the recipe-building path for dishes I couldn’t possibly know the number for, with no faster option. The AI app inverted that: it carried the meals I genuinely couldn’t quantify — the improvised curry, the from-scratch stir-fry, the ambiguous soup portion — and got out of the way for the boring, known quantities I’d rather just type.
So my real workflow by day five wasn’t “photograph everything.” It was: snap the dishes I invented, type the ingredients I measure, and reuse the snap for leftovers. Mixing the methods inside one app was the thing that finally made logging home-cooked food feel sustainable instead of like a second job. The flexibility was the feature. An app that insisted I photograph my measured cup of rice every night would have annoyed me out of it inside a week, the same way recipe-building did.
Days 6–7: did it actually hold up?
The back half of the week was the real test, because the back half is where my old habits always collapsed. By day six of any tracking attempt I’ve historically stopped logging dinner. That’s the failure pattern of my life.
This week I logged every dinner. Not through discipline — I want to be clear I did not become a disciplined person in seven days. I logged every dinner because logging dinner stopped being the hard part. The soup, on its second and third nights, took seconds because I’d already taught the app what it was. The day-six stir-fry got the same treatment as the day-three curry: snap, confirm the oil, confirm the portion, move on before the food cooled. The thing that used to break my streak — the home-cooked dinner with no barcode — became the easiest meal of the day instead of the one I avoided.
Was every estimate perfect to the calorie? No. I’ll say that plainly, because a week-of-cooking story that claims calorie-perfect numbers on improvised food is lying to you, and home-cooked food is genuinely the hardest thing to estimate precisely — there’s no label to check against, ever. But a reasonable, confirmed estimate that I actually logged beats a “perfect” number I never enter because I gave up at the recipe-builder. For seven straight days I had real numbers for the meals I actually cook, which is something the database apps never once gave me, no matter how big their library was.
The verdict, for people who cook
Here’s what the week settled for me. The “biggest database” pitch is close to meaningless if you cook from scratch, because your food is never in the database — it can’t be. A database is a catalog of products, and a home-cooked meal is not a product. For the packaged stuff, sure, the database apps win and it’s not close; scan the barcode and you’re done. But the moment you make something, that whole model falls over, and you’re left building recipes like you’re filing taxes on your own dinner.
For home cooking specifically, dish-reasoning plus a confirm step beat hunting for database entries, decisively and not by a little. The AI app looked at what I’d actually made, reasoned about it, and asked me about the oil and the portion — the exact two things a photo can’t see and the exact two things that determine the calories in scratch cooking. That’s the right division of labor. It did the identification; I made the judgment calls; nobody asked me to find my one-off curry in a list of strangers’ curries.
And the photo path being the headline feature was never a limitation here — it was the point. For food that exists in no database, reasoning about the plate is the only approach that works, and the confirm step is what kept it honest. I still typed the things I measure and reused snaps for leftovers, because a good tool doesn’t force its flashiest feature on a meal that has a faster answer. But for the actual problem of cooking dinner and wanting to know what was in it, the AI app solved something the giant databases never could.
I didn’t have a discipline problem with home cooking. I had a tool that was built for a different person’s groceries. Swap it for one built around the dish instead of the barcode, and the meal I used to skip became the easiest one to log.
Dana Reyes is an independent app tester, not a dietitian. Everything above is one person’s lived experience with these apps, not nutrition or medical advice — talk to a professional about your own goals and numbers.
FAQ
How do I track calories for home-cooked food with no barcode?
You stop hunting for a database entry that doesn't exist and switch to a method that reasons about the dish instead. For my week of from-scratch cooking, the database apps had no entry for 'the soup I actually made,' so I was forced to either build a recipe ingredient-by-ingredient or pick a stranger's 'homemade curry' guess. The AI photo app worked differently — it looked at the plate, worked out the components, and asked me to confirm the oil and portion. For food without a barcode, dish-reasoning plus a confirm step was far faster than recipe-building.
Can an AI calorie app handle food I cooked from scratch?
Better than I expected, and specifically because it didn't pretend a photo told it everything. When I logged a stir-fry, it didn't silently guess the oil — it asked me roughly how much I'd cooked it in. That confirm-on-doubt step is exactly what home cooking needs, because the calories in scratch cooking hide in the parts a camera can't see: the cooking fat, the portion of rice, how much sauce went in. The AI did the tedious identification and handed me the judgment calls.
Why can't MyFitnessPal find my homemade meals?
Because barcode-and-database apps are built around products, not dishes. They're brilliant when your food has a label — a packaged snack, a branded sauce. But 'the curry I improvised on Tuesday' was never entered by anyone, so you get either a frustrating ingredient-by-ingredient recipe build or a grab-bag of strangers' entries with wildly different numbers. The database is enormous for products and nearly useless for the specific thing you cooked tonight.
Do I have to photograph every home-cooked meal?
No, and I didn't. The week taught me to mix methods. The dishes I improvised got the photo treatment because there was no database entry to find anyway. But the rice I measure the same way every time, or the protein I weigh, I just typed — I already know those numbers. Leftovers I'd snap once and then reuse. The photo path earns its place on the genuinely unknowable dishes; for the parts you already measure, manual entry is faster and the app didn't punish me for using it.