Blog
How to track training and food without three apps and a spreadsheet — plus the engineering behind OneRep, written up in full.
How deep should you squat, and who gets to decide
Below parallel if your hips and ankles allow it, and the phrase doing all the work in that sentence is "if they allow it." Depth is not a moral quality. It is a joint angle, it is measurable, and measuring it settles an argument that has run on vibes for forty years.
Read articleHow many sets per muscle per week
Ten to twenty hard sets a week per muscle group covers most people, more is not reliably better past a point nobody can locate for you, and the reason this question never gets settled is that hardly anyone knows their own current number. Count first. Argue afterwards.
When to take a deload week (you are late)
A deload is a planned week of reduced load or volume, most lifters take one every four to eight weeks, and almost nobody takes one on time because the symptoms arrive dressed as a motivation problem. Here are the signals that show up in the log before they show up in your mood.
Can you build muscle in a calorie deficit?
Yes, under conditions that get narrower the longer you have been training, and the reason everyone argues about it is that the scale cannot tell you which way it went. Here is who recomposition actually works for, how slowly it works, and the only way to find out whether it is happening to you.
How long to rest between sets, and why you rest less than you think
Two to five minutes for heavy compounds, ninety seconds or so for isolation work, and the honest reason most people undershoot is that unstructured rest feels four times longer than it is. A timer is not a nicety. It is the only witness in the room.
How much protein per day, and why nobody agrees
The honest range is roughly 1.6 to 2.2 grams per kilo of body weight, the research has been circling that band for two decades, and none of it matters if you only log the days you eat well. Here is the number, the reason it is a range, and the far more embarrassing problem underneath.
Never evict what the user typed
Our coach's long-term memory had no ceiling and read the forty newest entries, which meant your "I have a bad shoulder" could fall out of context behind two weeks of the model's own musings about your breakfast. Forgetting had to stop being an accident and become a policy. Most forgetting should.
What the coach drops first
The AI coach gets one JSON object describing your entire training life, capped at 60,000 characters. Deciding what to cut when someone outgrows the cap turned out to be a product decision wearing a serialization problem's clothes; they usually are, once you get the coat off.
We build this site in React, then delete the JavaScript
This site is written in React, prerendered to static HTML, and then the build deletes the client bundle it just finished making. Nothing hydrates. Nothing needs to. Here is what that costs, what it buys, and the soft-404 disaster that made true believers of us.
Why your workout app and your food app should be the same app
Most lifters run a training logger, a nutrition app, and a third place where the Sunday weigh-in goes to be forgotten. The cost of the split is not the subscriptions. It is that every question worth asking lives in the gap between the apps, and nobody visits the gap.
How to track progressive overload without a spreadsheet
Progressive overload is the simplest idea in strength training, and it collapses the moment you try to hold it in your head. Here is what actually needs writing down, what doesn't, and why every spreadsheet in every gym bag dies at week six. Including yours, including mine.
Read the twelve-week trend, not one bad Monday
Your daily body weight swings by more than your monthly progress. Everyone knows this, and everyone stands on the scale on Monday morning and forgets it instantly. Here is what the daily number is actually made of, what a moving average fixes, and how long you have to wait before a number means anything at all.
Barcode vs photo food logging: when each one is actually faster
Scanning is exact and instant for packaged food and worthless for a plate of leftovers. Photo logging is the mirror image. Knowing which to reach for is most of what separates the people still logging in March from the people who quit in week two, and it takes four minutes to learn.
Quantize the lifter, not the detector
We made our 2D pose detector ten times slower by optimising it, 206 ms a frame against 21, and we made the 3D lifter shippable by doing the exact same thing to it. If you already know why, you can stop reading. You don't, though. Neither did we.
Counting reps without knowing the exercise
Our rep counter has no table of exercises. It measures every signal a body can repeat in and picks a winner. The first version picked the wrong winner every single time, because we scored candidates on how many reps they found. Noise, it turns out, is prolific.