You finish a hard set, unlock the phone, hunt for the exercise, tap through fields, and burn the rest you were supposed to use. Sweaty hands. Tiny boxes. The set is already gone.
I have logged that way. I have also skipped the last two movements because I wanted to leave. That is how a training week becomes fiction. Voice is the obvious fix. It only wins if the history stays trustworthy.
Typing should not be part of the set. Bad data is just a different kind of friction.
Where Manual Logging Breaks The Session
Most gym apps were designed around database fields. You are in a rack thinking about the next weight. The app wants a catalog search. On the days you are tired, you stop logging. Progressive overload then has nothing honest to read.
A notebook can still beat a bad app. The test is not “is it digital.” The test is whether logging disappears during the work and leaves a record you will trust on Thursday.
What Voice Has To Get Right
Speed is the easy part. Say the sets while you chalk up. The hard part is aliases, ambiguity, and corrections. “DB curls,” “dumbbell biceps,” and “incline bench” are not the same matching problem. If the logger guesses the short word first, your history is junk.
I built Mallet's voice path around that. The library is 889 lifts with 815 spoken aliases, longest match first, so “incline bench press” does not become bench. When it is unsure, it should ask once and get out of the way. If a correction takes longer than typing, voice lost.
| What to test | Pass | Fail |
|---|---|---|
| Aliases | It hears how you actually talk | You have to say the catalog name |
| Corrections | One tap, still in the rest | A three-screen undo |
| History | Next week's program can use it | Pretty logs you do not believe |
Voice logging in Mallet is there so the set stays the set. Confirm the fuzzy one, keep the rest timer, leave with a record the next program can actually read. Get early access →
This Week
Time the phone between two working sets. If it is eating the rest, that is your bottleneck. Then try a logger on the messy names you actually say, not the demo script. For the program that should consume that history, see what a training app should do when the week bends.
