$ ./selfhostednutrition --boot

Calorie tracking without the SaaS.

Three years ago we were on MyFitnessPal. Two years ago we were paying $80 a year to keep using the barcode scanner. Then Under Armour sold to Francisco Partners, the dark patterns got worse, and the data sharing got stranger. Now we self-host. This is the manual we wish had existed.

No affiliate links. No sponsored posts. No telemetry on this site (check your devtools). Edited by Alex Brennan. CC BY-SA 4.0.

Latest comparisons

Database coverage of FOSS calorie trackers (2026)

We pulled five aisles of products at a US chain grocery and tested coverage across OFF-only, OFF+USDA, and pure-USDA FOSS calorie trackers. Where the gaps are, why they are there, and what a contributor can do about it.

Commercial vs FOSS calorie trackers — state of the art (2026)

Where commercial calorie trackers still beat FOSS in 2026, where FOSS has caught up, and where it has overtaken. Photo recognition is the one durable closed-source advantage. Database depth, charting, and export favour FOSS.

Barcode scanner accuracy across FOSS calorie trackers

Hands-on barcode scanner test across FOSS calorie trackers. Test set of 50 packaged foods under four lighting conditions. Some scanners are accurate, some are slow, some need internet.

Cronometer vs FOSS: how close can you get without paying?

Cronometer is the strongest closed-source nutrition app for micronutrient tracking. We compare its surface against Waistline + Open Food Facts + USDA bulk and find a solid 80% match for free.

All comparisons →

Self-hosting guides

Proxmox VM vs LXC vs bare metal for the nutrition stack

Benchmarks of OFF mirror queries, Postgres restores, and Caddy throughput across Proxmox VMs, Proxmox LXCs, and bare-metal Debian. LXCs win the price-performance game by a comfortable margin.

Dockerized nginx with Let's Encrypt for self-hosted nutrition apps

An nginx + certbot Docker stack with auto-renew, OCSP stapling, modern TLS settings, and a sane upstream config for OpenNutriTracker companion services and OFF mirrors.

Tailscale (and WireGuard) for accessing your self-hosted tracker on mobile

Tailscale gets you point-to-point WireGuard between your phone and your homelab in five minutes. We compare it to plain WireGuard, set up MagicDNS, and make Caddy issue real LAN certs.

Backups and restore for self-hosted nutrition data

Why your calorie diary deserves a real backup, what to back up, where to put it, and how to test that the restore works. Borgmatic + restic + a one-page Ansible playbook.

All guides →

Privacy

Privacy posture comparison: six commercial calorie trackers (2026)

A comparison matrix of privacy posture across six commercial calorie trackers in 2026: MFP, Cronometer, Lose It!, MacroFactor, Noom, and PlateLens. Observed traffic, stated policy, GDPR/CCPA responsiveness.

Lose It! 'Snap It' and the cloud photos question

A traffic capture and EULA review of Lose It!'s Snap It feature. Photos go to a third-party classifier; the EULA permits broad retention; the privacy practices are not transparent.

Threat model: what does serious threat-modelling for personal nutrition data look like?

A practical threat model for personal calorie tracking data. Insurance discrimination, weight-stigma profiling, employer wellness programs, and the data-broker ecosystem. Most readers should care more than they do, less than the maximalist case suggests.

Dark patterns in calorie tracker paywalls

Pattern analysis of how the four leading commercial calorie trackers introduce paywalls behind features that were free at sign-up. Habit-anchor exploitation, sunk-cost framing, and the specific UI patterns to recognise.

All privacy posts →

FOSS catalog (the working subset)

A non-exhaustive list of open-source nutrition trackers we have actually compiled, run, or read source for. See FOSS roundup for full reviews.

OpenNutriTracker
simonoppowa/OpenNutriTracker

Flutter, Open Food Facts backend, F-Droid + Play. Active.

Waistline
amoses4288/waistline

Android-only, USDA + OFF, scanner, full export. Active.

Foodvore
(community fork, varies)

Lesser-known, OFF-only, last release 2024.

Tucker
(varies by author)

Illustrative — multiple unrelated forks under this name.

NutriCompute
(self-hosted CLI)

Command-line USDA queries, local SQLite cache.

OpenScale
oliexdev/openScale

Body composition, Bluetooth scales, complementary to a tracker.

GnuCal
(experimental)

Web app, single-file SQLite, no auth — strict LAN use.

Calorie tracker by USDA
(reference impl)

Mostly informational. Static USDA SR Legacy front-end.