Start here
Your budget is showing 2,100 — the default, not yours. Two minutes of numbers makes everything else in the app mean something.
Photograph the plate. Then decide what comes off it.
Claude reads the photo and names what's on it. USDA FoodData Central prices every component. You choose what to cut.
Ask
Ask about a food, about your day so far, or just say what you ate and I'll cost it.
Scan a barcode
Packaged food carries its own numbers. PixaFit reads the manufacturer's label instead of guessing from a photo — scan the code live, photograph it, or type the digits.
Eating out? Use the published menu.
No food to identify and no portion to judge — the two things a photo has to guess at. If the chain published it, start here.
Or browse by cuisine and country
How to get there
The plate, itemised
Where these numbers come from
Logged today
Meal ideas
Every calorie and macro below is computed from the USDA table at the exact portions listed — not copied from the recipe. Where a source publishes a comparable per-serving figure, it's shown next to ours so you can see the gap.
How a weight-loss plate is built
Key principles
Making it stick
Sources
- Eat This, Not That — healthy meals for weight loss
- Eat This, Not That — healthy weight-loss recipes
- Della Tera Wellness — healthy meal ideas
- Taste of Home — dinner recipes for weight loss
- Weight Loss Diets — balanced dinner plate ratios
Calorie and macro figures on every card are computed from the app's USDA FoodData Central table at the portions listed — not taken from the recipe sources, which don't all publish them.
Your avatar
Calorie intake calculator
Your age, height, weight and activity give a maintenance number. Your goal moves it from there. For adults — children and teenagers have different requirements.
Notifications and reminders
Nudges that arrive when the app is closed. They're prompts only — your numbers never leave this device, so a reminder says "log lunch", not what you've eaten.
Override
Food rules
These re-rank every suggestion. Turn one on and the plan changes on your next plate.
Forty-five recipes
Forty-five, in nine collections. Every one is priced against the same USDA table the camera uses, so the number on the card is the number you get if you photograph the finished plate. Open one and Cook this puts it on your plate, where you can change the weights or subtract to a target like any other meal.
What this app is grounded on
Two separate problems, two separate sources. Recognition answers what is on the plate. Nutrition answers what that weighs in calories. Mixing them is how calorie apps go wrong.
1 · Recognition — the PixaFit service
Your photo goes to our own service, which sends it to Claude with a constrained prompt: name the dish from a fixed vocabulary, then decompose the plate into components and estimate each one's cooked weight in grams using plate, cutlery and hand cues for scale. It returns a confidence per item. Nothing is hashed, guessed from filenames, or picked at random.
The model never returns a calorie. The service answers with food keys and gram estimates only; this page looks every one of them up in the USDA table below and does the arithmetic itself. That seam is deliberate — it is why the same food at the same weight always produces the same number, and why a model that is wrong about the weight cannot also be wrong about the nutrition.
The dish vocabulary is the Food-101 label set (Bossard, Guillaumin & Van Gool, ECCV 2014) — 101 categories, 101,000 images, 750 train / 250 test per class. Component decomposition follows the ingredient-level approach of VireoFood-172 (172 categories, 110,241 images), which is annotated for multiple ingredients per dish rather than one label per photo.
Anything reported below 70% confidence is flagged in the itemised list, and every row is editable — change the weight, swap the matched food, delete it, add what was missed. Corrections feed the plan immediately.
Limits, so you know why it stopped. Free use is capped at a number of analyses a day, shown on the Snap tab before you spend one, and the service holds its own daily spend ceiling. Both are there so a runaway loop cannot empty an account; when either is reached the app says so plainly and points you at the published menus, which cost nothing and are more accurate anyway.
2 · Nutrition — USDA FoodData Central
Calories and macros are never invented by the vision step. Each detected component is matched to a row in the embedded nutrient table below, and the app computes kcal = grams ÷ 100 × kcal_per_100g itself. Same food, same grams, same answer, every time.
The table is aligned to SR Legacy (generic and cooked whole foods) and Branded Foods (packaged and chain-restaurant items) within FoodData Central, which is public domain (CC0).
fdcId and a fetch date once verified against the API.3 · Restaurant menus — 103 chains
US chains with 20 or more locations must publish calorie counts under the FDA menu-labeling rule, and the UK has required the same of large operators since 2022. That makes a published menu the single most reliable input this app has: there is nothing to identify and no portion to judge.
103 chains, 1,155 items — . Search every item at once from the Snap tab, or browse by cuisine and country.
Published, not accurate. Lab analyses find restaurants systematically under-state: Urban et al. (2011, 269 items across 42 restaurants) found regular items around 8% above the stated figure and items marketed as low-calorie around 18% above; Bruemmer et al. (2012) found sit-down chains averaging about 25% variance; Long et al. (2015) found 81% of items within 100 kcal and the remaining 19% well outside. Because that error runs one way it does not average out over a week, so the app adds a documented uplift by venue type and shows the published figure alongside it.
Where each chain's figures came from. published means the numbers were transcribed from the chain's own published nutrition data — fastfoodnutrition.org for most US and Canadian chains, and the chains' own PDFs for J D Wetherspoon and PizzaExpress. third-party means a nutrition database rather than the chain itself, which adds a transcription step this app cannot check; those chains say so on their own page and link the source. Every chain carries its source link.
Two transcriptions of the same menu can disagree. Spot-checks during the build found A&W Canada's Teen Burger listed at 500 and at 560 kcal by two sources, and Olive Garden's Chicken Alfredo at 1,480 and 1,620. Gaps of roughly 10% are normal and are smaller than the prep variance the uplift already allows for — but they are a reason to treat any single menu figure as a good estimate rather than a measurement.
Read the units. Pizza is published per slice and is labelled that way here; buffet items are per standard serving, not per plate; Australian chains publish kilojoules, converted at 4.184 kJ per kcal. Where a chain publishes a range rather than one number the app shows the range, and where that range is wide enough to be a size question it asks you to pick the size instead of guessing a midpoint.
4 · What is still an estimate
- Portion weight. The largest error source in any photo calorie app. A single 2D photo cannot see depth or what is under the top layer.
- Hidden fats. Oil absorbed in frying, butter in the pan, dressing under the leaves — inferred from the dish, not observed.
- Preparation. Grilled and pan-fried chicken look alike and differ by roughly 40% in calories.
Treat the total as a good estimate with a real audit trail, not a laboratory measurement — and correct the weights when you know better.
Nutrient table
Every food the app can price, per 100 g (or 100 ml).
Your photos and your data
Worth being exact about, because a food photo carries more than food — a kitchen, a face across the table, a location, sometimes a health signal.
- Your photo is sent to the PixaFit service to be read, and is passed on to Claude from there. It is used for that one request and not stored.
- The request carries an anonymous account that this app creates for you silently the first time you open it — no sign-up, no email, no name. It exists so the service can count your analyses against the daily limit and can tell one person's requests from another's. It belongs to this browser: clearing site data gives you a new one, and there is no way to get the old one back.
- Only the photo or the description travels. Your log, meals, weigh-ins, profile and targets live in your browser's local storage on this device. Nothing derived from them is sent anywhere unless you join a group — see below.
- That also means nothing syncs between devices, and clearing site data clears your history. "Clear all data" on the You tab wipes it deliberately.
- If you switch reminders on, three things are stored on the service: the push subscription your browser issues, your timezone, and which reminders you chose. That is what a reminder needs in order to arrive at nine in the evening where you are rather than where the server is. Switching them off deletes the record.
- No analytics, no advertising identifiers, no third-party scripts beyond the web font and Google's sign-in library.
If you join a group
Groups are the one part of this app that shows your information to another person, so the list is exact rather than summarised — and it is the same list the app shows you on the Grid tab before you can join anything.
Joining needs an account, and it is the only thing in PixaFit that does. Tapping "Continue with Google" attaches your Google sign-in to the anonymous account you already have: same identity, nothing lost, and now it survives clearing your browser or moving to a new phone. Without that, leaving a group would be indistinguishable from disappearing from it. PixaFit stores your account's identifier and the name you type for the board; your email address stays with Google and is not shown to anyone in the group.
What the other people in a group can see:
- the name you type on the Grid tab — not your account name
- four yes/no ticks for each day: logged something, stayed inside your own budget, met your own protein floor, moved
- your step count, and how many different plants you logged
What is never written to a group, under any setting:
- any calorie figure at all — what you ate, your budget, your target, the size of your deficit
- your weight, every weigh-in, BMI, body fat, or which goal you picked
- your photos, your meals, your saved library, and what you removed from a plate
There is no switch that shares a calorie number, and there is not going to be one. A screen that ranks people on who ate least is the single most reliable way an app like this does harm, and every limit in here — the intake floors, the deficit cap, the targets withheld at a low body weight — would be undone by one. The score is behaviour, measured against each person's own numbers, so the same week scores the same on 1,400 kcal as on 2,800.
Your scores are recomputed from your own log every time and overwritten, never accumulated on the server. Leaving a group deletes your row from it. Whoever created a group can remove someone from it; nobody can see anything about you outside the group you share.
A join code is a six-character code, so treat it like one: anyone you send it to can join, and anyone in the group can see the list above until you leave.
Where this app stops
PixaFit will not set a target below the intake floors, will not offer aggressive deficits at a low body weight, and does not reward streaks of extreme restriction — the numbers here are a tool for eating deliberately, not a scoreboard.
If counting is making food harder rather than easier, that's worth saying out loud to a GP or a registered dietitian. In the US, the National Alliance for Eating Disorders helpline is 1-866-662-1235.
Sources
- USDA FoodData Central — nutrient truth (SR Legacy, Foundation, Branded)
- FoodData Central API guide — endpoints and rate limits
- Food-101 — dish recognition vocabulary
- VireoFood-172 — ingredient-level, multi-item meals
- Recipe1M+ — ingredient inference for ambiguous dishes
Daily calorie needs
The You tab estimates basal metabolic rate with Mifflin-St Jeor — 10W + 6.25H − 5A + 5 for men, −161 instead of +5 for women (W in kg, H in cm, A in years) — then multiplies by an activity factor from 1.2 to 1.9. Enter a body fat percentage and it switches to Katch-McArdle, 370 + 21.6 × (1 − F) × W, which works from lean mass and is the better estimate when you know your composition. Revised Harris-Benedict is shown alongside for comparison.
A deficit or surplus of 500 kcal/day is roughly 1 lb of body weight per week. The app will not set a target more than 1,000 kcal/day below maintenance, and warns below the floors Harvard Health cites — 1,200 kcal for women, 1,500 for men — outside medical supervision.
- Calorie Calculator (calculator.net) — equations, activity multipliers and the minimum-intake guidance used here
These are population averages, and individual metabolic rate varies by roughly ±10% around them. Nothing here is medical advice — if you're managing a health condition, or a target here looks unusually low or high for you, talk to a doctor or a registered dietitian before acting on it.
Four points a day — logged, inside your own budget, protein floor met, and you moved. None of them for eating less: your numbers are your own, so the same behaviour scores the same on 1,400 kcal as on 2,800.
Steps, distance and minutes on foot, counted on this phone. The goal is yours to set — put it where your week actually is, not where a round number says it should be.
Plants you ate — vegetables, fruit, beans, nuts, seeds. It only ever adds. Three different plants wins the day, and nothing you eat can take a point away.
Play the same three challenges against people you know. Everyone is measured against their own numbers, so the board rewards what you did, not how little you ate.
Activity
Walks, runs and workouts. Track one live with GPS, or add it afterwards. The burn is shown for interest — it does not raise your calorie budget, because your activity level is already in it.