How we calculate

Last updated: 9 August 2026

Every number in FastMacros comes from somewhere, and this page is where we show our working — how a recipe’s macros are arrived at, where restaurant and packaged food data comes from, what “est.” means when you see it, and what the fit % on a card is actually measuring.

It also says what we refuse to do. Nutrition apps are easy to fudge: a missing value can be quietly written as a zero, an unknown ingredient can be guessed at, and a model can be asked to produce a calorie count that looks exactly as confident as a measured one. We’d rather show you less than show you something wrong.

1. Recipe macros are arithmetic, not authorship

Every ingredient in our recipe library is a citation rather than a description. Each one carries the USDA FoodData Central row it refers to, the gram weight used, and the line you read on the card — and the recipe’s per-serving calories, protein, carbs and fat are summed from those rows.

The important part is what is missing from that description: there is no field in a recipe to type a calorie into. Not a rule we follow, a shape the data does not have. So “nobody estimated this recipe’s macros” is not a promise about our editorial standards, it is a property of how the library is stored — and it is checked by our test suite, which fails if a recipe ever gains a place to author a number.

Two consequences you can see on a card:

2. Restaurant and menu food

For the chains people order from most, our own hand-curated catalog is the source of truth: real, orderable items whose calories and macros are taken from each chain’s own published nutrition. Behind it, the FatSecret Platform fills the long tail of branded, supermarket and restaurant items we haven’t curated ourselves.

A curated row names the restaurant it came from. That is a statement about the source and not a verification: those menus are best-effort accurate and have not yet been through an independent nutrition-verification pass, and the app says so rather than dressing them up as confirmed.

Prices are the honest weak point, and they say so. A menu price is an estimate unless we have a real scraped price for that exact item; where we do, the card names where the price came from, so you can tell the two apart at a glance rather than having to trust the total.

Allergen data on restaurant food is the strictest thing we handle, and it fails closed: an item we can’t positively rule the allergen out for is never auto-picked for you, and nothing is ever marked “safe”. Allergen information is an estimate carrying a cross-contact warning — see our terms for the full rule.

3. Packaged food and barcodes

Packaged food comes from USDA’s branded database and Open Food Facts, merged and de-duplicated on our servers. Scanning a barcode reads that product’s published macros and asks you to confirm the serving; if a product isn’t listed yet, you can type its label in directly, and what you type is yours — it is stored against your account, not published as a fact about that barcode for everyone else.

4. Photos, labels and descriptions

When you photograph a meal, scan a label, or just describe what you ate, a model reads it. What that model returns is names and amounts — “a cup of black beans”, “two slices of sourdough” — and nothing else.

It never supplies the macros. Each name is resolved against the food database, and the numbers that get logged are the database row’s numbers. That is the difference between a calorie count that traces to a source and one that a model produced because it was asked for a number, and it is the single rule the whole logging path is built around.

Two guards sit on top of it. When the match is weak, the item arrives unchecked for you to confirm or swap rather than being logged quietly. And when the resolved amount looks implausible for what was described, we say so and leave it for you rather than logging a number we can already tell is wrong.

5. What fit % measures

Your remaining is your target minus what you have already eaten. For every candidate meal we measure how close it lands to zero remaining — how much of the day it closes without overshooting it.

The measurement is weighted. Protein counts the heaviest, roughly 2.7× carbohydrate and 2.2× fat, because it is the macro that drives fullness and protects lean mass while you are losing weight. There is a small term for calories, and an extra penalty for going over rather than under. Fit % is simply how near-perfect that match is, on a 0–100 scale.

Two things follow that are worth stating plainly:

And nothing paid ever moves it. If we ever run a funded offer, it can change what a meal costs you; it is structurally unable to change where that meal ranks or what its fit % says, and a test asserts exactly that.

6. Where your targets come from

You can set your calorie and macro goals outright, or steer them with the cut / maintain / bulk dial, which scales calories by ×0.85, ×1 and ×1.15 while protecting protein on a cut and lifting it on a bulk. The underlying ranges follow mainstream public guidance — the Dietary Guidelines for Americans, 2025–2030 and WHO — rather than a proprietary formula we’d have to ask you to trust.

Sodium is tracked against the 2,300 mg daily limit, and a meal above 1,500 mg is flagged as high. The sugar bar shows total sugars, because that is what labels and menu data actually report.

7. What “est.” means

“est.” is a specific tag, not a general disclaimer. Prices and allergen data we haven’t verified carry it, so you know which of those two you are looking at.

Food macros work differently. Where we can name where a food’s numbers came from, the row says so — the USDA database, a manufacturer’s label, the restaurant that published them, or you. Where we can’t, the row carries no badge at all rather than an implied one, and a number we simply don’t have is left blank rather than guessed.

8. What we refuse to do

Found something that looks wrong?

Tell us and we’ll fix it or explain it — fast.macros.app@gmail.com. The in-app Data sources screen carries the same information alongside the food it describes, and our privacy policy covers where your own data goes.

← Back to FastMacros