kCalori: AI, která pozná jídlo z fotky, a měření, které to dokazuje
Vlastní aplikace pro iPhone od nápadu po App Store. Na ní ukazujeme mobilní aplikaci, AI integraci, web i automatizace. Obsahu na sítě se věnuje samostatná studie.
- potravin v otevřené databázi kcalori.cz (září 2026, licence ODbL)
- 10 453
- Klient
- vlastní produkt
- Období
- od února 2026, na App Storu od 24. 5. 2026
- Co pokrývá
- Mobilní aplikace · AI integrace · Weby a e-shopy · Interní systémy a automatizace
- Technika
- SwiftUI, WKWebView, HealthKit, Apple Watch, Claude API, Supabase, Cloudflare Pages, n8n
kCalori je naše aplikace na App Storu. AI v ní poznává jídlo z fotky.
Zadání
Kalorický deník, který nebude otravovat. Zapsat jídlo má trvat pár vteřin: vyfotit talíř, zkontrolovat a hotovo. Aby to fungovalo, nestačí, že AI jídlo „nějak pozná“. Číslo v deníku musí sedět, jinak aplikace lže každý den.
Co jsme postavili
- Aplikaci pro iPhone ve SwiftUI s napojením na Zdraví (HealthKit), synchronizací přes iCloud, widgety a aplikací pro Apple Watch. Deník je webová vrstva uvnitř aplikace. Rozhraní se proto dá zlepšovat bez čekání na schválení každé verze v App Storu.
- AI rozpoznávání jídla z fotky přes Claude API. Levný model zpracuje každou fotku. Silnější dostane jen ty, kde si levný není jistý.
- Web kcalori.cz s veřejnými tabulkami živin a otevřenou databází potravin pod licencí ODbL 1.0. Tabulky přivádějí lidi z vyhledávačů.
- Automatizace na vlastním serveru v n8n: denní přehled čísel, stahování dat o potravinách a výroba obsahu pro sítě (ta má vlastní studii).
Měření: proč nestačilo „použít lepší model“
První odhad zněl: přesnost zvedne dražší model. Než jsme ho nasadili, sestavili jsme sadu 52 fotek se známými hodnotami: 30 balených výrobků se štítkem (Open Food Facts) a 22 uvařených talířů (Wikimedia Commons). Na ní jsme přeměřili celou cestu od fotky po zápis v deníku, ne jen odpověď modelu.
Ukázalo se, že jídlo model poznal od začátku skoro vždy. Chyba byla v kaloriích na 100 g, tedy v čísle, které uživatel nevidí, a proto ho nikdy neopraví. Gramáž si upraví posuvníkem. Hustotu ne.
| Varianta | Přesnost | Silnější model dostal | Cena za 1 000 fotek |
|---|---|---|---|
| levný model na všechno (výchozí stav) | 76 % | 0 % fotek | 3,02 USD |
| levný model po opravách | 88 % | 2 % fotek | 3,64 USD |
| levný model + silnější tam, kde je slabý (v provozu) | 94 % | 23 % fotek | 4,48 USD |
| silnější model na všechno | 90 % | 100 % fotek | 9,42 USD |
Varianta v provozu je přesnější než silnější model na všechno, a to za méně než polovinu ceny. Silnější model totiž plete fotky, které levný zvládá. Proto se mu posílají jen ty, kde je levný slabý.
Co rozhodlo
- Značka jako klíč do databáze. U balených výrobků model nově vrací značku. Podle ní se přesná hodnota dohledá v databázi 8 501 výrobků se štítkem, místo aby ji model hádal z paměti.
- Vlastní referenční hodnoty pro polévky, nápoje a omáčky. Předtím třeba gulášová polévka dostávala hustotu guláše.
- Dva spouštěče silnějšího modelu: nejistota levného modelu a značkový výrobek, který v databázi chybí. Původní práh nejistoty se při měření ukázal jako mrtvý: na 52 fotkách nesepnul ani jednou.
Proč to říkáme klientům
Stejný postup používáme u každé AI integrace. Napřed sada se známými výsledky, pak měření, teprve potom nasazení. Na konci dostanete číslo a na stejné sadě si můžete kdykoli ověřit, že se po další změně nic nezhoršilo.
Chcete podobné měření nebo aplikaci pro svou firmu?
Popsat zakázku