Teaching LLMs Taste: How I Built an Automated Cycling Ride Recap with GoPro, Gar
Gallery
About
TL;DR: Turn hours of raw GoPro footage + a .fit file into a 60-second highlight reel with ride telemetry burned in. Every second of the ride is scanned by gemini-3.5-flash, as is the clip ranking + curation. The whole thing costs about $0.04 per ride and takes 10 minutes.Longer version: Road cycling has been my primary form of exercise, social outlet, therapy, wardrobe expense, and personality trait for almost a decade. I ride most weekends, usually out of Manhattan and up 9W. By the end of a ride I have hours of GoPro footage and one .fit file with per-second speed, power, heart rate, cadence, and GPS. Absolutely no one wants to watch 3 hours of being stuck behind Citibikes on West Side Highway. It's fun to look through past footage, identify the fun parts, and put together a narrative to remember. But since cycling is already time consuming, manually editing a highlight reel edit per ride is a nonstarter. So I built and open-sourced https://github.com/ianmacomber/ride-recap.I identify compelling moments from four separate sources: * Garmin telemetry via .fit file (speed, HR, power spikes, sprints, climbs) * Strava via API (popular segments) * Gemini vision scan + rating of individual frames * (optional) hand-labels via Streamlit appThe fusion step has a LLM narrative pass pick 20 clips to best tell the story of the ride, boosting “cross-source agreements” (if a human label + telemetry + Strava + Gemini all agree that a clip is interesting), with greedy re-ranking and a crowding penalty to avoid clips too close to something already selected.Obvious in retrospect, but there’s no substitute other than looking at the clips Gemini selects, being highly opinionated about what should / should not be included, being specific enough about why, and repeating until you can’t think of anything more to improve. You cannot teach an LLM taste if you do not have taste yourself.
Comments (3)
per-second LLM scanning is slow and costly. full pipeline latency must be rough.
how long does processing usually take?
ride data burned into footage is exactly what cycling recaps needed
Related Products
Typist
Transcribe audio to text in seconds.
rapym
TKCORE AI
All-in-one AI platform featuring TkCore-V5.5-Pro & top LLMs
Sheet Image Downloader
A desktop image downloader that can bulk download images from urls
Textsight.ai
TextSight.ai detects AI-like writing, gives a 0–100 Authenticity / Humanization
IG DM
IG DM – Bulk Instagram DM Bot & Auto Message Sender
ComingUp