← All apps
On the App StoreApp

Two Feet and a Heartbeat

A walk in the park.

Eight hours at a desk, give or take. This is a stopwatch and a calendar for the twenty minutes that break it up: press the button, go out, come back. It times what you did, measures it with GPS or with the step counter depending on where you are, and counts the days you went. There is no plan to follow, no coaching, and nothing to buy. The only rule it has is that two missed days in a row ends a streak, and the only thing it asks of you is the walk.

The home screen: a streak of 17 days in a ring, buttons for how long to go for, a Start button, day passes held, and the last four weeks as a grid of squares A suggested loop drawn on a map of nearby streets, 1.5 km and about 20 minutes, with a Begin button under it A walk in progress: the elapsed time in large figures, a bar showing progress towards twenty minutes, distance and pace, and the route so far on a map The summary after a walk: twenty minutes, 2.4 km, the line that was walked, the streak now at 18 days, and a milestone just reached History: total walks, total time, total distance and longest streak, the last four weeks as a grid, and a list of recent walks with their times and distances The milestones screen: a grid of drawn badges, some reached with their dates and some still showing a progress bar

What it does while you are out

The walk starts on the tap

Not after a spinner. Suggesting a loop means three requests to a rate-limited map service over a connection that may not exist, and putting that in front of the button makes the commonest thing you do a wait, with a failure case of standing in a doorway being told no route could be found. So tracking begins immediately and the suggested loop slides onto a map of a walk already in progress. One that never arrives costs nothing.

A streak, and a way to keep it honest

Days in a row, drawn as a ring that closes at thirty. Three walks in a week earns a day pass, and a day pass covers one day you missed, on its own, without being asked. Two days in a row is a streak ending, because a streak that survives anything is not a streak. Nothing about it is stored as a number that can drift: it is worked out again from your walks every time the app opens.

Measured by whatever works where you are

GPS is wrong in exactly the places this app is used: a lunchtime loop between tall buildings, a lap of a shopping centre in February, a phone in a coat pocket. The step counter has none of those problems and works with location switched off entirely. The app takes whichever answer has the evidence behind it and tells you which one it used, and a walk with no distance at all still counts.

It keeps counting with the screen off

Which is what walking is: the phone goes in a pocket ten seconds in and comes out once, at the end. The clock is worked out from the time rather than counted up, so it cannot lose minutes to a suspended app, and the Live Activity on the Lock Screen draws its own. A walk the phone was killed during is put back together afterwards from the motion coprocessor's own record.

Ten milestones that arrive on their own

First one, seven days, ten hours, fifty kilometres, ten starts before eight in the morning. Each is a small drawn badge rather than a trophy, they are never announced in advance, and they are worked out from your history rather than remembered — so one added in a later version is awarded to you for something you already did.

On your phone, and nowhere else

No account, no sign-in and no server. Your history is a file on the device. Each walk is written to Apple Health if you turn that switch on, which the app only ever writes to and never reads. It is free, and stays free on one optional video worth one day pass, capped at two a day, with nothing at all during a walk or on the history screen.

Platform
iPhone
Requires
iOS 18 or later
Price
Free
Ads
One optional video, worth one day pass, up to twice a day. Never during a walk and never on the history screen
Health
Writes each walk to Apple Health if you let it. It never reads your health data
Offline
Everything except the suggested loop, which needs a connection
Elsewhere
A Lock Screen widget with the streak on it, and a Live Activity while you are out
Data
On the device. No account, no server, nothing uploaded