Your running coach
via iMessage.

An open-source Strava coach powered by Claude. Connect Strava once, then just text it for your runs, pace, heart rate, and personal records — and it nudges you to lace up, right from iMessage. Built on Linq.

Strava Coach iMessage conversation about a recent run

How it works.

HMAC-SHA256 WebhooksAES-256-GCM TokensSingle-Use Magic LinksDynamoDB State
iMessageUser
LinqWebhook
Your ServerLambda + SQS
ClaudeSonnet 4
Strava
StravaActivities API
01

Clone & deploy.

Clone the repo, add your Linq token, Anthropic key, and Strava OAuth credentials to .env, then deploy the three-Lambda stack with AWS SAM.

02

Connect Strava once.

Text the number and tap the OAuth link. Linq forwards every message to your receiver via an HMAC-verified webhook — read receipts and typing fire instantly.

03

Claude coaches you.

Claude Sonnet 4 runs a tool-use loop against the Strava API — recent runs, stats, heart rate, best efforts — and texts the answer back as iMessages.

Under the hood.

Recent runs & pace.

Ask "how were my runs this week?" and get distance, pace, and time per activity — pulled live from your Strava, never made up.

Heart rate insight.

Average and max HR per run, with a flag on unusually high readings. If a run has no HR data, it tells you — it never fabricates numbers.

Best efforts & PRs.

Fastest 1 mile, 5K, 10K and more across your recent runs — with all-time personal records flagged 🏅 so you know when you just set one.

Daily run reminders.

Text "remind me to run every day" and a scheduled Lambda sends a daily nudge plus a personalized, context-aware check-in based on your training.

Remembers your story.

Builds context over time — injuries, goals, races, PRs, cross-training — and brings it up later: "how are the knees since those back-to-backs?"

One-tap Strava connect.

Secure OAuth in a single tap — no app, no dashboard. Strava tokens are AES-256-GCM encrypted at rest and every webhook is HMAC-SHA256 verified.

Up and running in minutes.

Clone the repo, add your API keys, and start coaching runners over iMessage from your own number.

Clone the Repo
$git clone https://github.com/linq-team/linq-strava-agent.git
$cd linq-strava-agent && npm install
$cp .env.example .env # add Linq + Anthropic + Strava keys
$npm run dev

Simple architecture.

iMessage → Your app → iMessage

01
User texts via iMessage"how were my runs this week?"
02
Linq receives via webhookHMAC-verified — instant read receipt + typing
03
Receiver enqueues to SQSFIFO queue → Processor Lambda
04
Claude uses Strava toolsrecent activities → stats → heart rate → best efforts
05
Reply sent back via Linq APIpace, mileage, PRs — and a nudge to run
06
User receives iMessage response

Try it yourself.

Clone the repo, add your API keys,
and deploy your own Strava running coach on iMessage in minutes.

+1 (650) 444-1655
Your Cart
Your cart's looking a little light.Looks like your cart is empty—it's time to add your
gears and make it unforgettable.
Shop our best sellers
Digital Card
Digital Card$14.99
Hub
Hub$29.99
Badge
Badge$19.99
Mini Card
Mini Card$12.99