Open-source cycling intelligence

Your data.
Your server.
Your edge.

Self-hosted training analytics, AI coaching, and ride intelligence built for cyclists who own their performance data. Connect Strava, Whoop, Garmin, and Bluetooth sensors — all feeding a single, beautiful command center.

PMC Tracking

CTL/ATL/TSB

Coach Modes

5

Data Sources

4+

Self-Hosted

100%

Platform

Own every mile.
On your terms.

A complete cycling intelligence suite — from ride tracking to structured training — running entirely on your own infrastructure.

Activity Feed

Paginated ride cards with dark Leaflet maps, inline Cadiv analysis insights, weather overlays, and performance metrics at a glance.

Maps Weather Insights

Training Analytics

Performance Management Chart with CTL, ATL, and TSB tracking. FTP estimation, zone distribution, TSS trends, and load curve analysis.

PMC FTP Zones TSS

AI Coaching Engine

Five distinct coach personalities powered by evidence-based frameworks. Daily briefings, post-ride feedback, structured training plans, and motivational nudges — no LLM required.

5 Personalities Plans Feedback

Ride Deep-Dive

Every ride gets classified, scored 0–100, and compared against your own history. Intensity profiles, fitness impact before/after, percentile rankings, and contextual tags.

Scoring Comparisons Impact

Weather Intelligence

Historical conditions for every ride. 7-day forecast with ride-ability scoring — send it, decent, iffy, or nope. Powered by Open-Meteo, no API key needed.

Forecast Historical Free API

15-Tier Progression

A rider level system based on FTP, consistency, fitness (CTL), and total miles. Track your progression from beginner to elite with clear milestones and progress bars.

Levels Milestones Progress

Integrations

Every sensor.
One platform.

Pull data from the devices and services you already use. Cadiv unifies everything into a single, cohesive training picture — no vendor lock-in.

Strava

Full OAuth integration. Auto-import all cycling activities with power, HR, cadence, GPS, and segment data.

Whoop

Recovery, strain, and sleep metrics. OAuth-connected for workout imports with heart rate zone breakdowns.

Garmin & Bluetooth

Pair power meters, HR straps, and speed/cadence sensors via the Cadiv mobile app. Direct Bluetooth recording without third-party dependencies.

Cadiv
9:41
CADIV
Morning Ride 42.3 mi

Duration

2:14:30

Elevation

3,240 ft

Avg Power

218 W

Training Status

Fitness

62

Fatigue

48

Form

+14

Coach

"Great consistency this week. Tomorrow looks perfect for a tempo effort — 45 min at sweetspot."

Feed
Training
Coach
Settings

Mobile

Ride with it.
Sync everything.

The Cadiv mobile app connects directly to your Bluetooth power meters, heart rate straps, and speed/cadence sensors. Record rides natively, get real-time coaching, and sync to your self-hosted server.

Bluetooth sensor pairing — power, HR, cadence, speed
Native ride recording with GPS tracking
Real-time coaching messages during rides
Syncs to your own server — data never leaves your infra
iOS & Android via React Native / Expo

Infrastructure

Self-host everything.
Own your data.

Cadiv is designed from the ground up to run on your own hardware. No SaaS subscription, no data harvesting, no third-party analytics. Docker Compose up and ride.

Single docker compose up deployment
PostgreSQL database — your data, your backups
No LLM dependency — coaching engine is fully deterministic
Free weather via Open-Meteo — no API keys required
Runs on a Raspberry Pi, NAS, VPS, or any Linux box
terminal — cadiv

$ mkdir cadiv && cd cadiv

# create docker-compose.yml + .env

$ docker compose up -d

[+] Pulling 2/2

✔ Container cadiv-postgres Started

✔ Container cadiv Started

$ open http://localhost:4321

→ Cadiv is running. Connect Strava and ride.

$

240+

Coach messages

5

Coach personalities

15

Rider levels

0

External dependencies

Deep Analysis

Every ride tells a story.
Cadiv reads it for you.

Each activity gets a full breakdown — classification, performance scoring, intensity profiles, fitness impact analysis, and contextual insights. All computed locally on your server.

cadiv.local/app/activity/morning-gran-fondo
Threshold Saturday, Feb 15 · 9:23 AM

Morning Gran Fondo

A hard threshold effort with sustained climbs. Your power output was 12% above your recent average — strong day.

KOM
Top 10% Power Climbing Day Long Ride PR Segment
84
Performance

Distance

62.4 mi

Moving Time

3:12:45

Elevation

4,820 ft

Avg Power

234 W

Intensity Profile

RecEndTmpThrMax

IF

0.84

TSS

215

NP

248 W

Est. FTP

295 W

How You Compare

Distance +38%
Avg Power +12%
Elevation +55%
Duration +22%

Fitness (CTL)

58 62
+4.0

Fatigue (ATL)

44 68
+24.0

Form (TSB)

+14 -6
-20.0

Cadiv Analysis

Power was 12% above your 30-day average. Your sustained climbing is trending up — 3rd consecutive week of improvement.

TSS of 215 is a big day. Plan an easy recovery ride or rest day tomorrow to let your body absorb the load.

Ready to own your
training data?

Connect your Strava account, deploy on your own server, and start riding with precision intelligence that stays yours.