kontur

kontur · iOS

Every ride has a profile.

A native iOS app for cyclists. An overview of your entire performance — from years down to individual climbs —, an AI goal coach, and a training assistant that runs on-device, not in the cloud.

On-Device AI · No Backend · iOS 17+

22:44
53
kontur
Every ride has a profile.

01 — Overview

Your years as a whole. Not ride by ride.

Most apps spit out ride after ride. kontur organizes every activity into a hierarchy of years, months, and details — so you see at a glance how your overall performance evolves over the years. Compare with the previous year, judge your trend, measure your progress. Four levels, one consistent logic.

2026 · Year
4,827 km · 68,412 m
+12%vs. 2025
142Rides
38Climbs
June · Month
712 km
Activity · Jun 18
Grossglockner · 4.2 km climb

02 — Climbs

Every climb counts. Automatically.

kontur matches your rides against a curated catalog of over 1,000 Alpine passes and automatically determines which ones you've conquered — linked with profile, length, gradient, and VAM. You collect your achievements without ever entering anything manually. A record that grows with you.

Recently detected
2,461 m
Stelvio
24.3 km · 1,808 m
7.4 %
1,904 m
Mangart
12.1 km · 940 m
7.8 %
1,362 m
Gerlos
17.5 km · 980 m
5.6 %
1,798 m
Timmelsjoch
29.0 km · 1,343 m
8.2 %
950 m
Gaisberg
8.4 km · 460 m
5.5 %

03 — Goal Coach

Say it in words. The AI makes it measurable.

"10,000 meters of elevation this season." You formulate your training goal in natural language — the coach sharpens it into a concrete, measurable value. Seven metrics to choose from: kilometers, elevation, rides, passes, longest ride, weekly streak. A progress ring shows live where you stand, and a projection tells you whether your pace is enough or you need to step up.

68%
10,000 m elevation · 2026
6,840 m so far · At your pace: Oct 12
I want to hit 10,000 meters of elevation this year.
kontur · Goal Coach
Measurable: 10,000 m by Oct 31. At your pace (6,840 m through June) you’re on track — the target date is realistic. Commit?

04 — AI Chat

Ask about your season. On-device, not in the cloud.

The AI chat is your analyst and coach in one. Ask about your season, your climbs, your form, your goal progress — the AI knows your complete history and draws concrete comparisons. On devices with A17 Pro and Apple Intelligence, Apple Foundation Models run entirely locally. Optionally, you can enable Gemini as a cloud fallback — opt-in, only with your own API key. GPS routes never leave the device, only aggregated metrics.

AI Chat · On-Device
How should I train this week if I want to ride the Stelvio in three weeks?
kontur · AFM
You've logged 4h20 and 1,840 m this week. For the Stelvio (1,808 m, 7.4%) you need longer climbing efforts. Suggestion: Saturday 3–4h with 2× 600 m on climbs, Sunday easy 90 min. Recovery in between. Target VAM ≥ 700 m/h on climbs.
Show me the comparison to last year.
kontur · AFM
June 2025: 612 km / 54 m, June 2026: 712 km / 62 m — plus 16% distance, plus 15% elevation. Your target date is realistic.

05 — Photo Journal

Every ride gets its pictures.

Numbers tell half the story. Link photos from your library to a ride and use kontur as a journal — the summit in the fog, the snack at the pass, the bike against the backdrop. kontur only stores a reference to each photo: your images stay in the Photos app, nothing is copied or uploaded.

Grossglockner · Jun 18 · Photos
Add

A timeline for your cycling life.

kontur organizes every activity into a drilldown hierarchy — years, months, activities, detail. In between: climbs, elevation, heart rate, power. A goal coach makes your ambition measurable, an AI chat answers locally on your device.

Drilldown Statistics

Years → months → activities → detail. See your overall performance as a whole — not ride by ride. Year-over-year comparisons, histograms, and a heatmap of your activity days on every level.

Timeline

Elevation Profiles & MapKit

Every activity shows its elevation profile as a sparkline and hero map. The route runs via MapKit, polyline decoding off-main. Extra stats for HR, cadence, calories, and pauses.

Activity Detail

Climbs

Over 1,000 Alpine passes in a curated catalog. kontur automatically matches your rides and determines which passes you've conquered — with elevation, length, gradient, and VAM.

Climbs

Hammerhead Sync

OAuth 2.0 via ASWebAuthenticationSession with state CSRF protection, automatic token refresh, and token revocation on disconnect. Tokens in iOS Keychain. Paginated import including streams.

Hammerhead

Goal Coach

"10,000 meters of elevation this season." The AI sharpens it into a measurable value, seven metrics to choose from. A progress ring shows live where you stand, a projection whether your pace is enough.

Training Goal

AI Chat

Ask about your season — climbs, records, form, goal progress. On devices with A17 Pro and Apple Intelligence, Apple Foundation Models run locally. Optional Gemini fallback via opt-in and your own API key. GPS routes never go to the cloud.

Apple Foundation Models

Photo Journal

Link photos from your library to a ride and use kontur as a journal. The app only stores a reference — your images stay in your library, nothing is copied or uploaded. Read-only access, only with your permission.

Journal

Private. Truly private.

No backend, no ad SDKs, no tracking, no analytics. All activity data lives locally in SwiftData, encrypted with device encryption enabled. OAuth tokens and API keys in the Keychain.

Privacy-first

Every ride has a profile.

Free. Native iOS app. On-device, not in the cloud.