Back to home page

build

Built for myself

Three apps I use every day.

what it is

Three apps I use every day, built because the paid versions were annoying me. Nobody asked for these, which is the point: the fastest way to learn what makes software worth returning to is to be your own most impatient user.

what is unique

Each one replaces a specific paid product I was already using, and each one exists because that product got something wrong that I could not stop noticing. Fuel replaces the parts of MyFitnessPal people actually open. Meadow replaces Flo. Tally replaces the expense trackers that make you choose between what left your bank and what you really spent.

how it was built

All three are Supabase behind the scenes with row-level security doing the privacy work at the database rather than the interface, and all three install to a phone as progressive web apps. Beyond that they are deliberately different: Fuel is a single file of vanilla JavaScript with no build step, Meadow and Tally are React 19 and TypeScript on Vite. Picking the smallest thing that works, rather than the same stack every time, is most of what building these taught me.

gtm angle

Three products, three different go-to-market arguments. Fuel is the retention case: the only build real people open daily, and return is the bar that actually matters. Meadow is the wedge case: a named incumbent with a real privacy failure and users who stayed because nothing better existed. Tally is the restraint case: a personalisation product with no model in it, because the hard questions were never about prediction quality.

Fuel

in daily usefull page →

Scan a barcode or photograph the meal, get your macros. The parts of MyFitnessPal people use daily, with nothing behind a paywall.

built with

One 79KB index.html of vanilla JavaScript. No framework, no build step. Supabase was added later as purely additive sync, so it still works completely offline. Nutrition data comes free from Open Food Facts.

gtm angle

Shipping an AI-built product is the easy part. Daily use is the real test, and this is the one build real people open every day. Go-to-market is judged on return, not launch.

Four ways in, because friction is why food tracking gets abandoned. Photo, barcode, search, or a saved meal, with the day still empty underneath.The training half of the same app: the session plan for the day, and sets logged weight by reps as they happen.Search runs against the Open Food Facts corpus, so real supermarket products come back with real per-100g numbers.The day once a meal has landed: calories left against target, the four macros underneath, weight and steps below that.

Meadow

in daily usefull page →

Everything Flo puts behind a subscription, without the ads or the data sharing. Private cycle tracking for one person, or for two.

built with

React 19, TypeScript, Supabase with row-level security and realtime. The prediction module is pure, isolated from the database layer and unit tested on its own, so the logic can be reasoned about separately from how the data gets fetched.

gtm angle

Flo was caught sending cycle data to Facebook in 2019 and settled with the FTC in 2021. People kept using it, because the alternatives were not meaningfully better. I did not write a memo about that gap, I built the replacement.

Tally

in daily usefull page →

What left your bank and what you actually spent, both answered, for two people sharing money.

built with

React 19, TypeScript, Supabase with magic-link auth and schema-scoped grants. A transaction stores what happened rather than an interpretation: the amount charged, the account it left, who paid, and one row per person for their share.

gtm angle

A personalisation product with no model in it, which is exactly why it was worth building. The hard questions were never prediction quality: what is worth learning about someone, and what should you never presume?

Back to home page