← All posts

The Feature That Would Prove You're Succeeding Is Locked Behind the Wrong Metric

A new JMIR study of 5,132 food-tracking app users finds that logging 2-3 days a week, not perfectly, still predicts real weight loss. Mr BITE's own Progress tab stays locked until a user strings together 7 straight days, the one pattern that study says isn't what matters.

A smartphone shows a flame streak icon flickering between lit and unlit days on a small weekly calendar, while a smooth, steadily descending progress line glows quietly in the background, illustrating the gap between an all-or-nothing streak and real gradual progress

A study published this month in the Journal of Medical Internet Research did something I haven’t seen done at this scale before: it took 5,132 real MyNetDiary users, tracked what they actually logged over six months, and asked a genuinely useful question. Not “does tracking work,” which everyone already assumes, but how much tracking is enough to matter. The answer wasn’t a cliff. It was a staircase. Users who logged food 6 to 7 days a week lost 11.33% of their body weight on average. Users who logged fewer than 2 days a week lost 6.84%, still real, still worth having. And the middle tier, people who tracked just 2 to 3 days a week, lost 7.35%: meaningfully more than the barely-tracking group, and missing days along the way didn’t erase what they’d already gained. Every additional day of tracking per week was associated with 35% higher odds of losing at least 5% of body weight. Consistency mattered. Perfection didn’t. It’s an observational study, not a trial, so I want to be upfront that more motivated people probably both track more and lose more for reasons the tracking itself didn’t cause. But the staircase, not just “tracking helps” but “partial tracking helps a lot, and a missed day doesn’t wipe the slate,” is the part I couldn’t stop thinking about once I’d read it, because I went and checked what our own Progress tab actually requires before it’ll show a user anything at all.

The honest answer is: seven days in a row. TRACKING_UNLOCK_STREAK is set to 7 in ProgressScreen.tsx, and until a user’s tracking streak reaches it, the entire tab, weight trend, calorie averages, protein deltas, everything, sits behind a locked overlay with a flame icon and a countdown. To be fair to whoever built the streak system, it’s more forgiving than a bare counter: streakProtection.ts grants one automatic freeze a week for a single missed day, and one user-triggered save a month that can restore a break within 7 days. It’s a genuinely well-built piece of logic, and once your longest streak ever hits 7, the section stays unlocked for good, even if you miss days after that; a returning user never gets sent back to the empty state. But look at what that freeze allowance actually covers: one missed day per week. A user tracking on the exact cadence the JMIR study calls a real success, 2 to 3 days a week, every week, indefinitely, isn’t missing one day a week. They’re missing four or five. That’s more gaps than a single weekly freeze can bridge, which means their streak breaks most weeks before it gets anywhere near 7, and the one monthly save can’t keep up with a pattern that breaks that often. The exact user this month’s research says is losing real, clinically meaningful weight may never see their own weight trend, because the gate in front of it is built around a pattern of behavior, seven perfect days in a row, that the research says isn’t actually the thing that predicts success.

What makes this sting a little more is that we already compute the number that would have been the better gate. ProgressStatGrid.tsx has a “Days logged” tile: X of Y, over whatever window is selected, exactly the days-per-week signal the JMIR study says is the real predictor. It’s just that the tile lives inside the Progress tab, which is the thing being locked. The metric that matches the research is sitting on the other side of a door that opens on a different metric entirely.

I don’t think seven days was picked maliciously; “one full week” is a completely reasonable definition of “enough data to show a trend,” and it’s got nothing to do with weight loss science at all, it’s a data-availability rule that happens to also read as a judgment on how the user is doing. I don’t have the fix built. What I do have is a much harder time defending the number 7 now that I’ve read a study that says the users we’d be shutting out for months are, per the best evidence I’ve seen this year, already succeeding.

BITE of the Week: Two Systems That Were Supposed to Agree, and Didn’t

A glowing badge passes freely through one open archway gate but is stopped at a second locked gate just behind it on the same path, representing two systems meant to agree that quietly didn't

Version status is unchanged since last issue: 1.10.0, cut August 22nd with recipe version families and honest write receipts, is still the build working through app store review; 1.9.0 remains what’s live on both stores. This week’s fix didn’t have to wait on either, because it lives entirely in a Supabase migration, not the client, so it was written, applied to prod, and verified the same day it was found.

The bug: comped accounts, the free Pro grants the team hands out by hand rather than through Stripe, are supposed to read as premium everywhere. paidTier.ts on the server and useProStatus.ts on the client both already checked comped OR has_active, exactly as designed. But two other functions never got the memo. check_event_limit and consume_event, the Postgres functions that gate AI coaching allowances and decide whether to show the free-trial promo card, computed their own is_premium from has_active alone. A comped account, premium by every wall that mattered, was still capped at 3 AI interactions a week by the one system nobody thought to double-check, and still shown the upgrade card that’s supposed to hide the moment is_premium is true. It surfaced the way these things usually do: a real person, Francesca, got comped, and minutes later ran into both symptoms at once. The fix rewrites both functions’ premium check to has_active OR comped, matching the two systems that were already right, and it’s now confirmed in prod: a comped profile reads uncapped, a free profile still caps at 3. Four functions were supposed to agree on one fact about a user. Two of them had quietly never been told.

Three Quick Bites

Three vignettes: a small weekly calendar with a mix of checked and unchecked days beside a gentle downward trend line, a food carton beside a simple male silhouette icon, and a vitamin capsule beside a glowing brain outline

  1. A peer-reviewed study of 5,132 MyNetDiary users found that logging food just 2-3 days a week was linked to losing 7.35% of body weight over six months, meaningfully more than the 6.84% among people tracking fewer than 2 days a week, with each additional weekly tracking day tied to 35% higher odds of clinically significant weight loss. Published August 13th in the Journal of Medical Internet Research, it’s an observational study of a self-selected, engaged subset of app users (about 1 in 80 signups), so it shows association, not proof that tracking itself caused the loss. It’s the study behind the essay above. News-Medical

  2. A Florida Atlantic University analysis of over 17,000 U.S. men found those eating the most ultra-processed food had up to a 34% higher risk of prostate cancer than those eating the least. Drawing on two decades of NHANES dietary recall data (2003-2023) and the NOVA classification system, the study found risk elevated 24-31% after adjusting for age, smoking, race and poverty status; it’s observational and self-reported diet, not a causal trial, but it’s a large, nationally representative sample. ScienceDaily

  3. An Emory-led study found older adults with mild cognitive impairment and sleep problems who took at least 5,000 IU of vitamin D daily scored over 13% higher on a standard cognitive test than those taking none, while lower doses showed no benefit. Published in Sleep Medicine, the study followed just 54 adults and is explicitly preliminary; the researchers frame vitamin D as a modifiable factor worth studying further during an early window of cognitive decline, not a proven intervention. ScienceDaily

Tool of the Week: Loop Habit Tracker

An open padlock beside a flame icon that stays lit and glowing even with a few gaps in a row of small day-markers behind it, representing a habit streak that bends without breaking

Since this issue is about a streak metric that punishes exactly the pattern the research says is fine, this week’s pick is the open-source app that solved the same problem years ago. Loop Habit Tracker (GPLv3, on F-Droid and Google Play) tracks habits with a “strength” score instead of a raw streak count: a few missed days after a long run weaken the number instead of resetting it to zero, and it natively supports schedules like “3 times a week” rather than assuming every habit is a daily, all-or-nothing commitment. For readers: it’s a genuinely useful free habit tracker if raw streak apps have ever made you feel like one bad week erased a month of real progress. For builders: it’s a working reference implementation of the exact design our Progress-tab gate is missing, a way to reward consistency that doesn’t quietly punish the realistic version of it. Loop Habit Tracker on GitHub. Free, open source, no signup required.

Thanks for reading. If you’d rather your coach measured you by the pattern that actually predicts results, Mr BITE is free on iOS and Android.

Michael, building Mr BITE

← Back to all posts