beefy
Workout runner
- Year
- 2026
- Sector
- Fitness · personal tools
- Services
- Identity, Mobile app, Engineering
- Platforms
- App
- Stack
- Expo · React Native · TypeScript · Expo Router · ML Kit · Jest

On device document scanning and OCR, reps and timed items with rest blocks, a full screen runner with sounds and haptics, volume and new PR at the end. Fully offline.
The brief
Most workout apps want to be your coach, your social network and your subscription. All that was needed was the sheet of paper from the gym, on the phone, walking you through the session without making you think.
Our approach
A dark, single purpose interface in the designer's amber "Clean Board" direction: warm asphalt surfaces, one amber accent for the primary action, Teko condensed display type for headlines and the big timer, Inter for everything else. One item fills the screen; one button moves you on.
The build
Expo and React Native with Expo Router and native tabs. A workout is an ordered list of items: reps with optional weight, timed, or rest. Google ML Kit's document scanner crops and straightens a photographed list and on device text recognition turns it into items for an editable review. The runner keeps the screen awake, counts rest down with sounds and haptics, and ends on a summary with duration, exercises, total volume and a new PR flag saved to history. Local storage with migration on read, unit tests and a CI gate.
The result
A workout runner that does one thing on purpose, works with no signal in the gym basement, and reads your own handwriting.
Self-initiated product.
The app
Native, on purpose.
One codebase for Android and iOS, running on the phone itself.
