🤖 Powered by responsible LLMs

Your Strava activities,
renamed by AI

Every activity synced from any device to Strava gets a shot of Endorphins from the LLMs, transforming default workout titles into engaging, motivational descriptions that reflect the emotional and physical journey of each activity. Tailored to your sport, effort level, and stats. Automatically. Within seconds.

Connect with Strava

Free · Disconnect anytime

⚠️ Limited availability The API currently supports a limited number of users. If you have trouble connecting, use the form below and we'll expand access as soon as possible.
🏃
Record on any device
Garmin, Apple Watch, Wahoo and more
🔄
Syncs to Strava
Automatically as always
🧠
AI reads the context
Location, effort level, and language
🎭
Your tone, your style
Mixed, Narrative, Data, or Humor, set once per sport
Activity updated
Name and description in seconds

What it looks like

AI-generated names across different sports and effort levels

🏃 Run Hard
Mixed tone
🔥 Threshold Push at Bondi
Pushed well into Zone 4 on a fast loop through Bondi, negative splits through the back half · 10.2 km · 💨 4:58/km · ❤️ 172 bpm
Was: Morning Run
📍 Bondi, NSW · 🌏 English
🚴 Ride Tempo
Data tone
⚡ Dandenongs Climb Set
⚡ 238W avg · ⛰️ 680 m gain · 📏 45.3 km · ❤️ 158 bpm avg
Was: Afternoon Ride
📍 Dandenong Ranges, VIC · 🌏 English
🌊 Surfing Recovery
Humor tone
🐢 Turtle-Paced, Turtle-Proud
Caught more sun than waves at Kiama today, and honestly, the vibes were worth the trip alone 🏄 · 1.72 km · 💨 21.6 km/h peak
Was: Morning Surf
📍 Kiama, NSW · 🌏 English
🏊 Swim Base
Narrative tone
🏊 Mittags Ausdauertraining
Gleichmäßiges aerobes Training mit Fokus auf Schlagtechnik und konstante Splits durch den Münchner Vormittag.
Was: Lunch swim
📍 Munich, Bavaria · 🌏 Deutsch
🏋️ Weights Hard
Mixed tone
💪 Heavy Compound Session
A demanding session of heavy compound lifts with serious load — peaked at 168 bpm during working sets · ⏱️ 68 min · 🔥 Peak HR: 168 bpm · 420 cal
Was: Weight Training
📍 Sydney, NSW · 🌏 English · 🏋️ Anaerobic classifier
🥾 Hike Tempo
Narrative tone
🗻 Ascension matinale au Brévent
Départ tôt avec des vues dégagées sur le Mont-Blanc, un dénivelé solide tout au long de la montée · ⛰️ 820 m · 14.2 km · 3:42:00
Was: Hike
📍 Chamonix, Auvergne-Rhône-Alpes · 🌏 Français

Works with every sport

Sport-specific context, pace formats, and emoji palettes

🏃 Running
🚴 Cycling
🏊 Swimming
🌊 Surfing
🥾 Hiking
🚶 Walking
🏋️ Weight Training
💪 Workout
🧘 Yoga
🚣 Rowing
🏄 SUP
⛷️ Skiing
🏂 Snowboard
🚴 Virtual Ride
🏃 Virtual Run
🎾 Tennis
⚽ Soccer
🏋️ CrossFit
🛶 Kayaking

About this project

Endorphins AI started from a bit of curiosity, every activity carries so much data about pace, effort and heart rate, yet the name attached to it rarely tells that story. It felt like there was a more interesting way to capture what a session actually felt like, using the data already there.

This is a solo side project built on cloud infrastructure, using LLMs to generate names and descriptions that actually reflect how an activity felt, calm and easy, or a genuine grind, based on real effort data, not just a template.

Currently in limited availability · actively maintained

Built by

Franc La Mueve

Franc La Mueve

Runner, rider, swimmer, surfer and long time Strava user. Building this in spare time to make my own activity feed a little less dull.

Follow me on Strava

Frequently asked questions

Common questions before connecting your account

Is this free?
Yes, it's completely free! Only planning to add an optional donation in the future to help cover cloud infrastructure costs.
Will it overwrite names I've already edited manually?
Only new activities are renamed automatically when they're first created on Strava. If you manually rename an activity afterwards, the AI does not touch it again.
Does it work with devices other than Garmin?
Yes, any activity that lands on Strava gets processed, regardless of the source device. The AI adapts to whatever data is available for that activity.
Can I disconnect at any time?
Yes. Go to strava.com/settings/apps and remove the connection. This immediately revokes our access and no further activities will be processed.
What data does the AI actually see?
Only activity stats, such as, distance, duration, heart rate, pace, elevation, and sport type. GPS coordinates are processed transiently for location lookup and are not stored. See our Privacy Policy for full details.
Why is it limited availability right now?
The API currently supports a limited number of users. If you have trouble connecting, use the form below and we'll expand access as soon as possible.
What do the different tone options mean?
Mixed: A short story plus key stats. The default for most sports.
Narrative: Pure storytelling, no stats line.
Data: Numbers first, minimal narrative.
Humor: Playful and affectionate, never mocking. Jokes scale to the effort of the session.
Will it overwrite a name that came from Zwift or another training app?
No. If an activity's name or description mentions a known training platform like Zwift, TrainerRoad, Peloton, or similar apps, we leave it exactly as is. Everything else, including Strava's own default titles like "Morning Run", gets an AI-generated name as usual.

Get in touch

Having trouble connecting? Let us know and we'll expand the access as soon as possible.

No spam. I'll get back to you as soon as possible.

🎉

Request received!

Thanks for your interest. We'll review your request and email you when access is granted.