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.
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