Inspiration Strava tells you how your run went. We kept wondering — what if it could tell you how it's going, right now, and actually do something about it? Every runner has had a run fall apart halfway through with no one to help them adjust. That gap felt worth fixing.

What it does Strava_YourPersonalAICoach (Team 37) is a live voice coaching agent that runs alongside you. It listens, adapts, and talks back mid-run. If your pace drops, it coaches you through it. If you're struggling at km 6, it reroutes you to a shorter finish. It knows your training plan, your race goal, and your injury history — so every cue is personal, not generic.

How we built it

VAPI handles the two-way voice layer — the runner talks, the coach responds, all mid-run Redis stores the live session in real time — every pace reading, every coach intervention, mood state, trend history Senso holds the athlete's full profile — goal race, training week, injury notes — queried once at session start and injected into every coaching response Strava API provides the athlete baseline — historical pace, recent runs, fitness context Gemini generates the coaching messages from the combined Redis + Senso context

Challenges we ran into Getting VAPI and Redis to stay in sync during a live session was harder than expected — voice events are async and Redis writes need to be fast enough that the coach responds with current data not stale data. We also found that Senso context only enriched one route initially and had to wire it into the full VAPI voice pipeline manually.

Accomplishments that we're proud of The coaching actually feels personal. When VAPI says "you have a half marathon in 3 weeks — this is not the day to blow up at km 4" it's because Senso pulled that from the athlete profile. That moment where the three sponsors work together in a single response felt like the idea clicking into place.

What we learned Voice-first products have a completely different UX constraint — you have about 12 words before a runner tunes out. Every coaching message had to be brutal to edit down. We also learned that the session memory layer (Redis) is what makes the difference between a coach and a notification — it needs to remember what it already said so it doesn't repeat itself every 90 seconds.

What's next for Strava_YourPersonalAICoach (Team 37) Real GPS integration so route adaptation happens on an actual map. A pre-run voice briefing that sets the plan before you leave the door. Multi-agent architecture where a pace agent, nutrition agent, and recovery agent run in parallel and hand off to each other. And a post-run debrief — closing the loop from live coaching back into Strava so your history gets smarter every run.

Built With

Share this project:

Updates