Untethered Thinking for a Tethered Swimming Problem
I have a thing about niggles.
Not the big, dramatic, “tear it all down and start again” problems. The small, persistent ones. The ones that live in the corner of your day, muttering just loud enough to be annoying.
They’re the kind of problems you can live with… until you can’t.
For me, those niggles often show up in training.
The tethered swimming problem
Take tethered swimming, for example.
If you’ve not tried it, it’s exactly what it sounds like: you attach yourself to a tether at the side of the pool and swim in place. Great for space-saving, great for building endurance, and great for those of us who don’t live next to a 50m Olympic pool.
But - and this is the niggle - it’s terrible for tracking metrics.
I like data. I like to know how far I’ve swum, how my stroke rate’s looking, and whether I’m improving over time. And like many, I use an Apple Watch for tracking. The problem is, the watch is designed to measure distance by detecting turns at the end of the pool. No turns = no distance.
For a while, I outsmarted it. I’d set the pool length to 200m and do fake “turns” every 5 minutes - stop, push off, keep going. The watch happily logged it.
It wasn’t perfect, but the numbers were good enough.
Until one day, the watch simply stopped playing along.
My fake turns didn’t count anymore. The distance stopped moving.
That’s when the niggle became too big to ignore.
When a niggle tips into action
I run ikirugai, which is basically my excuse to spend my days helping people solve their own business and tech niggles. It’s what I do for a living - find bottlenecks, fix inefficiencies, and remove friction.
When the swim tracking broke, I realised: this is the exact kind of problem I’d solve for a client. The tools exist. The data exists. It just needed stitching together in a smarter way.
So, instead of endlessly scrolling forums hoping someone else would fix it, I decided to build the solution myself.
Building TetherSwim
The goal was simple:
Use the data a tethered swim does produce - stroke counts, time, heart rate.
Turn that into an accurate-enough distance estimate without relying on pool turns.
The result was TetherSwim, a watch + iOS app that:
Records all the swim metrics your watch can capture.
Calculates your distance using a baseline “meters per stroke” figure.
Lets you tweak that baseline or exclude workouts from the calculations to keep things accurate.
Syncs with Strava so your swims still appear alongside your other training.
That last point might sound trivial, but if you train regularly, you’ll understand: if it’s not on Strava, did it even happen?
How it works
Here’s the short version:
You swim tethered as usual.
The watch records strokes, time, and other workout data.
The app estimates your distance by multiplying your average meters per stroke (calculated from your normal pool swims) by your stroke count.
You can review the result in the iOS app, adjust the baseline if needed, or mark certain sessions to be excluded.
This means your estimates improve over time - the more you swim (and the more “good” data you feed in), the better the baseline becomes.
How it’s better than my old workaround
My old method relied on pretending to do turns in the pool, which:
Interrupted the flow of my swims.
Produced wildly inconsistent data if I forgot or mistimed a “turn.”
Depended entirely on the watch recognising those fake turns - which, clearly, it decided it wouldn’t forever.
Now, I just press start, swim, and stop. No pretending, no interruptions, and my swim metrics stay in the right ballpark.
For example:
In a 30-minute tethered swim, TetherSwim might estimate ~1150–1250m for me based on my stroke length.
In a real 25m pool swim of the same length, I’d cover about 1200m at my regular pace.
Close enough to be useful for training and tracking, without me having to “game” the watch.
Rolling it out
This isn’t a big commercial launch. There’s no team of developers, no marketing budget. It’s just me, building something I wanted to exist, and putting it out there in case other tethered swimmers find it useful.
If you try it, I’d love to hear what you think - good, bad, or “have you thought about…?”.
Feedback means refinement, and refinement turns a quick fix into something genuinely useful for more people.
Why this is exactly what ikirugai does
Even though TetherSwim is just for fun, it’s basically the same process I follow in my business. At ikirugai, I help organisations spot their own “tethered swim” moments - those frustrating, low-level inefficiencies - and turn them into something better.
Whether it’s automating repetitive admin, fixing clunky workflows, or just making tools play nicely together, the principle’s the same:
Find the niggle.
Decide it’s worth fixing.
Build the fix.
Sometimes the fix is a huge project.
Sometimes it’s a tiny tweak.
Either way, once it’s done, you wonder how you ever tolerated the problem in the first place.
TetherSwim is my reminder of that - and hopefully, for some of you, it’ll be yours too.
If you’ve got your own niggle, in sport, in tech, or in business - you know where to find me.