build
Fuel
Scan a barcode or photograph the meal, get your macros. The parts of MyFitnessPal people use daily, with nothing behind a paywall.
the problem
Food tracking gets abandoned because logging is slow.
why it hurts
Every extra tap is a reason to stop, and a tracker you stop using tells you nothing.
what i built
Fuel, a phone tracker for food, weight and training: scan a barcode or photograph the meal and get your macros. Vanilla JavaScript that works fully offline, with multi-user cloud sync and row-level security added later. I built it for my own daily use, with no engineering background, through conversational development with AI.
how it works
01 / 04
Four ways in, because friction is why food tracking gets abandoned. Photo, barcode, search, or a saved meal, with the day still empty underneath.
02 / 04
The training half of the same app: the session plan for the day, and sets logged weight by reps as they happen.
03 / 04
Search runs against the Open Food Facts corpus, so real supermarket products come back with real per-100g numbers.
04 / 04
The day once a meal has landed: calories left against target, the four macros underneath, weight and steps below that.
why it's useful
Four ways to log (photo, barcode, search or a saved meal), and every target shows its formula and source. Multi-user, and in daily use.
what i learnt
- Daily return is the real test of a product.
- A photo estimate is a starting point: it lands as an editable entry to confirm before it saves.
- Every calorie and macro target shows its formula and source, so nothing is a black box.
technical specs
- A single index.html of vanilla JavaScript: no framework and no build step.
- Offline first. Everything is logged on the phone and works with no signal; Supabase was added later as a purely additive backend, so sync is a bonus, never a dependency.
- Multi-user, with row-level security so each person sees only their own food, weight and training.
- Four ways to log: a photo, a barcode, a search, or a saved meal. Barcodes and search resolve against Open Food Facts, so real products come back with real per-100g numbers.
- A vision model estimates a photographed meal, and the estimate lands as an editable entry to confirm before it saves.
- Every calorie and macro target shows its formula and its source.
- A training log, set by set, with weight and reps entered as they happen.
- It installs to a phone through a web manifest and a service worker.



