Voice-first nutrition logging

Say what you ate. That is the whole thing.

Most food apps make you search, scroll, pick a serving and set a meal — for every item, every time. Tally does that once and then remembers.

One log a day on a demo account. No card, no trial timer.

Preview · what one sentence becomes

Reviewbreakfast

two eggs and a fairlife

Eggs, scrambledUSDA
2 large12 g protein
156kcal
2% milkUSDA
fairlife1 bottle13 g protein
120kcal
Total25 g protein276 kcal
Log · 276 kcal
  1. You say it

    Typed or spoken, in your own words. One sentence can hold a whole meal.

  2. Tally fills it in

    Each food is matched to a database record, USDA FoodData Central here, with the portion and meal already chosen.

  3. You tap once

    Nothing is saved until you tap Log. Fix a portion or swap a food first if you need to.

It gets faster every week

Every meal you log teaches it the phrases you use, the foods they mean and the portions you take. A meal you have logged before resolves from your own history with no AI call at all. Only a food you have never logged touches the network, once.

It does not make numbers up

The calories and macros come from a food database or a brand’s own published label. If a food cannot be found, the app says so instead of guessing. For a dish with no label anywhere, like a deli platter or a photo of your plate, the amounts are estimated. Every estimated row is flagged in the list and in your diary, so you can check it before you log it or fix it after.

Your diary is yours

Only you can see your diary. The database itself keeps accounts apart (Postgres row-level security), not app code — see how in the security docs. Photos are never stored.

Four ways to log

Four ways in, one list out

Voice

Say “two eggs and a fairlife”. Both rows come back filled in — food, portion and meal.

Photo

Vision names what is on the plate and estimates the amounts. Every estimate is flagged so you can check it before you log it.

Barcode

Scan the label. The numbers come from the manufacturer’s own record, not an estimate.

Search

For when you’d rather pick it yourself. Your own foods first, then the USDA database.

For developers

Your diary, from any agent

Create an API key in Settings and your diary is open to a REST API and an MCP server, so Claude, Cursor or an agent you wrote can read your day or log a meal for you. Each key is read-only or read and write, and you can revoke it at any time. Keys act as your account, so a demo account's one log a day still applies.

# Add Tally to Claude Code over MCP
$ claude mcp add --transport http tally https://tally.art3m1s.me/api/mcp --header "Authorization: Bearer tally_live_..."

# Or call the REST API
$ curl https://tally.art3m1s.me/api/diary -H "Authorization: Bearer tally_live_..."
A few of the toolsAll tools
  • get_dayread

    A day's entries by meal, with totals against your targets.

  • log_foodwrite

    Turns a sentence into staged rows. Nothing is saved yet.

  • commit_logwrite

    Saves the staged rows to your diary.

MIT licensed

Open source

Tally is MIT-licensed and built to be run by one person on free tiers. The design document, the phased build plan and the ledger of every review finding are all in the repo.