Recording runs

GPS distance is a Property you can add to any Collection — its cards show your routes, pace, splits, and elevation, and the Android app records your run with the screen off.


Kaizendex treats runs like everything else you track. There's no separate app screen or special collection you're handed — running is a Property kind, GPS distance, that you add to any Collection of your own. The moment you add it, that Collection's Entry cards gain a Start button, and run pages show routes, splits, and elevation. Live GPS recording happens in the Android app — more on that below.

Add the property

Open (or create) a Collection, go to + Add a property, and pick GPS distance from the Running section — alongside Pace and the heart-rate properties. Call the Collection whatever you like: "Running", "Cycling", "Hikes", "Walks" — there's no built-in "Running" collection any more, you build your own by adding the property.

When you add GPS distance, Kaizendex offers a set of companion properties — pre-checked and ready to add alongside it:

Companion propertyWhat it captures
Distance (km)Kilometres covered
DurationMoving time — pauses don't count. Stored as a finished Stopwatch, using your actual pause/resume segments from the run.
PaceAverage minutes per kilometre, e.g. 5'32". Worked out for you from Duration ÷ Distance — see below
Avg / Max Heart RateIf you're wearing a heart-rate source
Active CaloriesEstimated burn for the run
Elevation GainClimb over the route

Add as many or as few as you want — the tracker fills in whichever of these you've added, and leaves the rest alone. In the properties editor, a bound companion is marked "Filled from GPS" followed by the measurement it takes, so you can see where a number comes from right next to the number. That badge is a read-out, not a setting — you change the wiring in one place, on the GPS distance Property itself (see below). The value stays yours to edit afterwards like any other Property.

Choosing what each property measures

The companions above are just the default choices. Open the GPS distance Property's settings and you get the whole picture at once — every measurement a recording can produce, and which of your properties keeps it:

Distance        →  Distance (km)
Moving time     →  Duration
Pace            →  Not kept
Average speed   →  Not kept
Elevation gain  →  Not kept
…

Every measurement is listed, including the ones nothing keeps yet — those are blanks you can fill, not settings hidden until you find them. Each dropdown lists your own properties by name, and only the ones that could hold that measurement (a Stopwatch can hold a time, a number can hold a number).

Because it's one list, a measurement has exactly one destination. If you have two properties both called "Distance", you pick the one you mean here and the other stays an ordinary field you type into — no guessing which one the recorder claimed.

That's what makes one set of building blocks work for every sport. A cyclist adds a number property, points Average speed at it, and reads km/h instead. Nothing about the Collection is "a running collection" — it's your properties, pointed where you want them.

Why Pace says "Not kept"

Because nothing needs to fill it in. Pace works itself out from the two properties above it — your moving time divided by your distance — every time you look at it. It's a small formula you can read and change: open the Pace Property and you'll see

round(prop("Duration") / prop("Distance (km)"), 2)

which means "time ÷ distance, to two decimals". Change it if you want pace per mile, or per 100 m for swimming.

The reason this matters: a recorded run isn't the only kind of run. Before, Pace could only be filled by a live recording, so a run you typed in yourself — or one that came from your watch — sat there empty forever. Now all three fill it the same way, because all three have a distance and a time.

Recording a run vs logging one

These are two different things, and Kaizendex keeps them apart:

  • Logging — you already did the activity and just want it written down. Use the ordinary + button and fill the Entry in: 5 km, 30 minutes, done. No recorder, no route.
  • Recording — you want Kaizendex to track the activity as it happens. Make the Entry, then press Start on its GPS distance Property.

The Start button is the Property, the same way a Stopwatch Property's Start button is the Stopwatch. It's in your property list, it carries whatever you named the Property, and it goes wherever you put the Property — nothing is added to your card behind your back, and there's no app button bolted onto the Collection. Delete the Property and the button goes with it.

While a run is recording, that same cell becomes the live tracker — map, clock, distance, pace, Pause and Finish — and the Duration Property mirrors the running clock so you're never looking at two timers. When you finish, the cell fills with the recording itself.

An Entry that already has a route, a distance, or a time doesn't show Start at all — a run you already logged isn't waiting to be recorded. And if you do point a recording at an Entry that already has values, Kaizendex asks before overwriting them.

Recording happens in the app

Live GPS recording needs the Android app — tap Start in a phone browser and Kaizendex points you there instead of recording. An iPhone build is still in the works.

You can put the phone in your pocket. The first time you start a run, Android asks whether Kaizendex may use your location "all the time" — say yes and recording keeps going with the screen off, with a notification showing the run is live. Say no and recording still works, but only while the app is on screen: you'll see a reminder to keep it open, and you can change your mind later in Android's app settings under Permissions → Location.

Not in the mood to record? Run with your usual tracker (your watch, your phone's fitness app) and log the run in Kaizendex afterwards — tell the chat ("ran 4 km in 29 minutes") or fill in the Entry by hand. Your companion properties work exactly the same, and Pace fills itself in the moment you've put a distance and a time — you never type it. Only the drawn route needs the recorder or a connected watch.

Your run, on the card

You don't have to design the card to get a good one. A Collection with a GPS distance Property and no card of its own is laid out like a proper activity app: your route as a map across the top, then distance, time and pace as three big figures, and the rest — heart rate, calories, elevation — kept off the card and waiting on the Entry page. Time reads as a finished total rather than a stopwatch you could restart, and pace reads as 5:51, not 5.85.

It's an ordinary card underneath, so the moment you want it different it's yours: open Customizing the card and change anything — what shows, how big, which colours, what tapping it does. Your version replaces the standard one completely.

Your run, on the entry

Open a run and it reads like an activity page:

  • The route — your GPS trace, coloured to match your theme, drawn by the GPS distance Property in its own row. Choose a clean stylised trace or a real street map — see Customizing the card.
  • Splits — your pace for each kilometre as a bar chart, so you can see where you sped up and where you faded.
  • Elevation — a profile of the climbs and descents along the way.

Splits and elevation are yours to turn off: the GPS distance Property's settings have a Recording shows switch for each part — route map, per-km splits, elevation profile — and cards and Entry pages follow what you pick.

What about watch data?

Connecting Fitbit or Google Health brings in your sleep, heart rate, and workouts automatically — including heart-rate zones for anything your watch recorded as a workout.

A run your watch recorded now arrives whole. Kaizendex takes the full track your watch exported — every point with its time, altitude, heart rate and cadence, plus the laps your watch marked — so an imported run reads exactly like one you recorded in the app: route, per-kilometre splits, elevation profile, and a heart-rate line along the route. Pace works itself out from the distance and time your watch reported, the same as everywhere else.

Next