Skip to content
Maor KertsmanMaor Kertsman
Product partnershipConsumer product

Rutz — an AI running coach

A product I’m building with a partner: Garmin data becomes running analysis, with calculations in code and explanations from AI.

Illustration: a finished run arrives as raw Garmin data, code scores it (scoring, de-duplication, training load, patterns), the AI explains it in plain language, and Maya the runner decides what to do with the advice.

Recreated interface scene with fictional data

The product

Rutz is an iOS app I’m building with a partner. It turns runners’ Garmin data into analysis they can understand and act on. Code handles the calculations, AI helps interpret the results and the runner decides what to do with the advice.

The design question

How do you turn running data into advice a runner can understand and assess? I designed a separation between reproducible calculations and language-model interpretation, so the explanation is grounded in computed results.

What was built

Code does the math
Scoring, de-duplication, training-load math and pattern detection run as deterministic code. The same run always gets the same numbers.
AI interprets the results
The model gets computed results, not raw data, and explains what they mean: a heavier post-run analysis and a lighter chat.
Garmin data pipeline
Each runner's Garmin activity flows through their own connection into Postgres, where the analysis code picks it up.
iOS app and backend
A SwiftUI app with Apple Sign-In, a FastAPI backend with plain parameterised SQL on Postgres, deployed on Railway.
Internal run-analysis tooling
A developer tool that replays runs with changed parameters in real time, so a scoring change can be seen before it ships.

My part

I’m responsible for Rutz’s architecture and AI design: how the systems connect, what is calculated in code and what the model receives to interpret. My partner wrote most of the code.

Supported outcomes

  • AI is used only where interpretation is needed
  • Every number in the app is reproducible from code
  • The runner stays in control of what to do with the advice

Tools

SwiftUI, FastAPI, Postgres, Garmin, Claude, Gemini, Railway

What would you take off your plate?