bpkm is the first running app with an AI agent inside the run. A coach that hears you over your music, knows your pace and your route, and answers out loud from your live numbers. I'm its co-founder, and I built it: the brand, the product, the run experience, and the backend that makes it all work.
Strava writes down what happened. bpkm runs with you, matching every song to your cadence, talking you through the run, and learning which tracks actually make you faster. Cadence-matched playlists. The first AI coach you can talk to, mid-run. A record of the songs you actually run faster to.
It's an iPhone app in private beta. Made in Canada.
Inside the App
Your Music. No curated playlists. bpkm scans the Apple Music or Spotify library you already have, finds what runs, and beat-matches every song to your stride.
The Route. Tap the map and streets connect the dots. Distance becomes minutes becomes songs, sized automatically.
The soundtrack is built, beat-matched to your stride, before you take a step.
The Coach. Ask out loud, mid-run. It answers in a real voice from your live numbers: your pace, the gap on your best, the climb ahead.
The Record. Finish knowing which songs made you faster. Pace per song, cadence per song, measured run after run.
How I Built It
bpkm is an iOS app with a live backend, built on one rule: a runner should never lose a run, and never wait on a server to start one. I designed and engineered it end to end, and made the architectural calls that keep it fast, private, and defensible.
Client never touches the database
Every read and write goes through a typed, authenticated server function. Built on Convex, which is the server and the database in one, with real-time sync, so no connection string ever ships in the app. WorkOS handles sign-in, and an entire class of security bugs is gone before a line is written.
Offline-first by design
The phone is the recorder; the cloud is the ledger. A run records with zero connectivity and syncs the moment you're back online. A UUID minted on device makes every upload idempotent, so a retry can never duplicate a run, and the playlist keeps building in airplane mode.
The song-relationship engine
Every skip, complete, thumbs, and power-song is an append-only event, stamped with your cadence, pace, and where in the run it happened. Events are truth; the affinity score is a cache I rebuild whenever the model improves. Over time it learns which songs actually pull you faster, a record no other running app keeps, because no other running app is listening.
A live AI agent in the run
The coach hears you over your music and answers in a real voice from your live numbers: your pace, the gap on your best, the climb ahead, the weather. No scripts, no recordings. The first running app with an AI agent inside the run itself.
Privacy built in on day one
Route data is trimmed so a shared map never shows your door, nothing is sold to anyone, and account export and delete shipped from the start, not retrofitted later.
Built With
Swift
TypeScript
Next.js
React
Convex
Vercel
PostHog
Spotify
Apple Music
GitHub
Figma
Claude
bpkm is in private beta. The waitlist is the way in.