Skip to content
publik.
Browse appsAppsPricing
+Publish a repoPublish
Browse appsHow it worksPublish a repoGet helpPricingDevelopersGitHubPrivacy
© 2026 Publik
← All apps

AI Calorie

Photograph a meal or scan a barcode to log calories and macros locally.

AI: publik API or your key

not yet reviewed by publik. It is live now; the founder has not reviewed this version yet.

by @dth

A

AI Calorie

open source · on publik

On your phone?

You install AI Calorie from a computer. Send yourself the link and open it there.

◆Built on Publik APIBuild yours →

publik API is one option

  • AI chat & tools: Chat completions with tool calls, JSON schemas and images, priced per tier in dollars.
  • By default, AI Calorie still runs on your machine, unless you pick the cloud option.
  • Choosing it needs no key to paste. Linking your publik account gives five cents of free use, once.
  • Then AI Calorie pays publik's published price per use, and your own key still works.
How pricing works →
Vote on AI Calorie
0
Read the install guide→Open in GitHub↗

Compared with

C

Cal AI

Paid

Make this yours→Fork AI Calorie, change it, publish your version. About 30 minutes. No experience needed.

Having trouble? Tell us

Where AI Calorie’s AI runs, and what it costs

Prices are for one typical use: one request of about 1,500 words sent and 375 words back. A higher quality score is better.

On your computer

Not checked yet: publik has not read whether AI Calorie can run its AI on your computer.

publik API

Price
$0.0010 per use, $1.00 per 1,000 usespublik-fast, the level AI Calorie uses most
Quality
GLM-5.3 Flash: 42
Setup
Built in. No key to paste; linking your publik account gives $0.05 of free use, once.

Your own key

Price
$0.0006 per use, $0.55 per 1,000 usesGLM-5.3 Flash at OpenRouter’s list price, before its fee for buying usage
Quality
GLM-5.3 Flash: 42
Setup
Open a provider account, add a card, paste the key into AI Calorie.

Quality and price, side by side

Quality score and cost per 1,000 typical uses for local models and the three publik API levels
ModelQualityPer 1,000 uses
On your computer (Ollama, 4-bit download size)
Granite 4.2 3B2.2 GB9$0
Phi-4 Mini2.5 GB6$0
Llama 3.1 8B4.9 GB7$0
gpt-oss 20B14 GB9$0
Gemma 4 31B20 GB19*$0
Qwen3.5 35B-A3B24 GB19*$0
publik API
publik-fastGLM-5.3 Flash · AI Calorie42$1.00
publik-balancedMiMo-V2.6-Pro46$10.00
publik-smartGPT-6 Sol48$18.00

Quality: Artificial Analysis Intelligence Index v4.3.2, read 2026-09-22 (publik API models 2026-09-25); * = estimated by Artificial Analysis. Sizes: the Ollama library, read 2026-09-22.

What you pay for

  • On your computer: nothing per use. You pay in disk space, memory and electricity, at lower quality.
  • publik API: publik’s published price for each use, in dollars, from your publik balance. It is above the model’s cost; the difference runs publik and pays the app’s builder.
  • Your own key: the provider’s price, billed to an account you keep with the provider.
Install AI Calorie: publik API is built in →How publik API pricing works →

How to install AI Calorie

Every step written out. No terminal experience needed. Pick your setup.

  • How to install AI Calorie on Mac →
  • How to install AI Calorie on Windows →

README

Open in GitHub ↗

AI Calorie

Photograph a meal, get its calories and macros.

AI Calorie is a local web app. It runs a small Node server on your machine, serves the built front end from it, and keeps your log in a JSON file under ~/.ai-calorie/. Nothing about your eating leaves the machine except the meal photo you choose to have analysed.

What it does

  • Scan a meal — take a photo (or pick one, or just describe it in words) and get calories, protein, carbs, fat, fibre, sugar, a 0–100 health score and an ingredient-by-ingredient breakdown.
  • Scan a package — point the camera at a barcode and the product is looked up in Open Food Facts, so the figures are the label's own rather than a guess. For anything not in the database, photograph the nutrition panel: it is read on your own machine, so it costs nothing and the photo is never uploaded.
  • Correct it in words — "it was a double portion", "no dressing" — and the estimate is recomputed.
  • Daily targets — built from your height, weight, age, activity and goal with Mifflin–St Jeor plus an activity factor; editable afterwards.
  • Today — a calories-remaining ring, macro bars, a logging streak, and your meals grouped by breakfast / lunch / dinner / snacks.
  • History — every meal you have logged, searchable, grouped by day.
  • Progress — average calories and protein, days logged, a daily calorie chart against your target, and a weight trend.

Running it

npm install
npm start

Then open http://localhost:4273. The first npm start builds the interface, which takes a second; later starts skip it. Node 20 or newer.

For development with hot reload:

npm run dev

Where the numbers come from

  • Barcodes — Open Food Facts, open data, no key and no account. Figures are the manufacturer's, scaled to one serving. Free.
  • Nutrition panels — read on your machine with a WebAssembly build of Tesseract, then cross-checked (sugars cannot exceed carbohydrate, the macros must account for the stated energy). Free, offline after first use, and the photo never leaves the machine. If too little comes out legibly, the app offers the AI read below instead.
  • Meal photos and written descriptions — a vision model. This is the only path that costs anything.

Meal photos resolve a provider in this order:

  1. Your own key — ANTHROPIC_API_KEY, if you set one. Get it from https://console.anthropic.com/settings/keys.
  2. publik API — a released build carries publik-app-token.txt and provisions a per-install key on first launch, after showing you what that means and asking. No key to paste. See https://publikhq.com/developers.

Copy .env.example to .env only if you want to override that. With no provider set up, barcode and panel scanning still work — they never needed one — and meal photos ask you to choose a provider first.

Self-test

A release build answers publik's startup self-test:

PUBLIK_SELF_TEST=1 npm start

It makes one real call through publik API and prints a single line (publik self-test: ok <slug> <version>), then exits.

Accuracy

These are estimates from a photo, not measurements. Portion size is the largest source of error — check it on the result screen and correct it when it looks off. AI Calorie is not medical advice.

Licence

MIT — see LICENSE. The numbers this app produces are estimates, and the licence's "as is, without warranty" terms apply to them too.