Case Study · Our Own Product
Holt
A Garmin companion app we built for ourselves - because Garmin Connect has all the right data and none of the joy.
Most of our client work lives on someone else's roadmap. Holt is one of the few things that's entirely ours - a phone app for Garmin device owners, named after the old word for an otter's den. We wanted a reason to keep our mobile work sharp between client projects, and a genuine itch: Garmin's own app is exactly the kind of thing we'd redesign for a client without a second thought.
Garmin Connect collects genuinely good data - sleep, stress, Body Battery, VO2 Max, heart rate variability, a dozen other numbers about how your body is actually doing - and buries almost all of it a tap or two too deep, behind a cluttered, corporate interface nobody opens for fun. Holt pulls the same numbers straight from a paired Garmin watch and puts the one that matters today in front of you first, in plain language, the moment the app opens.
It doesn't need a Garmin device to be useful, either. Point it at a walk, run, ride, or hike with nothing but your phone and it tracks the route, pace, and steps itself - no watch required. That's deliberate: Holt can fully replace Garmin Connect for someone who owns the hardware, and it's a complete GPS tracker on its own for someone who doesn't.

What It Does
Recovery, decoded
Body Battery, VO2 Max, HRV, stress, sleep, resting heart rate, respiration, pulse ox - each pulled straight from your Garmin device, each with its own trend line, and each explained in one plain sentence instead of a bare number.
Track without a watch
Walk, run, ride, or hike using nothing but your phone's GPS and pedometer - full route, pace, and distance, no Garmin hardware required. Built-in fitness tests like the Cooper and Rockport walk test estimate VO2 Max with just a stopwatch.
Records that track themselves
Every personal best - longest distance, best pace, longest duration, steepest climb - is tracked automatically per sport, with a badge the moment you beat one. Any two activities can be laid side by side, stat for stat.
Strength training, too
Garmin Connect barely handles gym work. Holt has its own routine builder - save a workout once, then log sets and exercises against it every time you repeat it, with ready-made presets to start from.
Take A Look Inside

Vitals - fitness age, VO2 Max, HRV, and stress, each with its own trend

Activities - every walk and run mapped, with records and comparisons built in

Workout - saved gym routines, ready to log again

Records - personal bests per sport, updated the moment you beat one
Designed As A Calm Instrument
Holt's whole design argument is that Garmin Connect's problem isn't the data, it's the mood. We built a real visual identity around it instead of another dashboard of gray cards: a warm off-white paper background instead of stark white or the neon-on-black look most fitness apps default to, and every number set in a condensed, tabular typeface so it reads like an instrument gauge rather than a spreadsheet cell.
Color carries meaning instead of decoration. One hue, one meaning, everywhere it appears - on a metric's ring on the home screen, its icon in a list, its own chart line - never reused elsewhere just for contrast.
The otter mascot follows the same restraint. It's a drawn line-art mark, not a cartoon, and it only appears in three moments - an empty screen, first launch, and finishing a walk. It never decorates the chrome around it, which is exactly the discipline a health app needs: the data stays calm and legible, and the personality shows up only where it's earned.
How It's Built
Holt is Expo and React Native on the New Architecture, written in TypeScript, with Expo Router handling navigation and typed routes. Reanimated and the gesture handler drive every ring gauge and press animation; the maps - every recorded route, rendered live - run on MapLibre, open-source, so nothing depends on a Google or Apple Maps key.
Connecting a Garmin account runs through Garmin's own OAuth sign-in, handled entirely by our backend. From there, Holt never asks Garmin for anything - Garmin's Health API pushes new activities and health data to us the moment they're available, and the app just reads what's already arrived. Recording your own walk works the same way whether or not a Garmin is involved: your phone's GPS and pedometer feed the exact same activity model Garmin-synced data does, so both sources end up on one shared screen.
Start a walk and it stays visible without opening the app: a Live Activity on the Dynamic Island and lock screen on iOS, a persistent notification on Android, both counting up elapsed time as it climbs.
Behind it is a small Node and TypeScript API, Postgres for storage, both running in Docker, with real unit and integration test suites. Holt also works with no account at all - a random ID generated on first launch is enough to keep your data on your own phone; creating an account with just an email and password is only there for someone who wants their history to follow them to a second phone.
Where It Stands
Holt is still in development, the same as Barki - not yet published to the App Store or Google Play. It's further along than that makes it sound: the backend is live, the Garmin integration is real and tested end to end, and we've already written the privacy policy both stores will ask for before we submit. What's left is the same thing that's left on every app before launch - time on real devices, and tightening what feels rough.
Say hello
Let's make something
you're proud of.
Tell us what you're working on - even a rough idea is plenty. Book a quick call, or send a message and we'll reply like actual humans, usually within a day.
A short intro call - no pitch, just a chat about what you're working on.
Prefer email?
office@otterdev.meBased in
Montenegro
Working with people here, and anywhere the wifi reaches.
Prefer to write?