This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Strava Segment Effort History Chart

Productivity · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — try it free, no account needed.
CategoryProductivity
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

This script scans Strava segment effort pages for effort data—effort times, dates, heart rate, power, cadence, and position—and displays a floating panel showing a chart of effort history over time. It extracts numeric values and metrics from segment effort lists, calculates improvement trends, personal bests (PR), and average effort times. A bar chart shows effort times from fastest to slowest, highlighting the personal best in green and recent efforts (last 5) in blue. The summary displays total efforts, PR time, average time, and median time. Users can view effort details and export effort history as CSV or JSON. All effort snapshots are stored per domain locally for tracking improvement over time.

WHERE IT RUNS

Works on Strava segment effort pages—strava.com/segments/[segment-id] or any page displaying segment effort lists with times, dates, and metrics. The script detects effort rows using time patterns and common Strava effort selectors, making it compatible with Strava's segment pages.

HOW TO USE

The panel appears automatically when you visit a Strava segment page. It detects all segment efforts and displays summary stats: total efforts, personal best (PR), average time, and median time. The bar chart shows effort times sorted fastest to slowest, with green bars for PR, blue bars for recent efforts (last 5), and gray bars for other efforts. Hover over any bar to see the time and date. The "All Efforts" list shows the most recent 20 efforts with dates and times, with a 🏆 icon next to the PR. Click "Refresh Data" to rescan for updated efforts. Export effort history as CSV for spreadsheet analysis or as JSON for programmatic use. Use "Clear History" to reset stored snapshots for the current domain. The panel automatically saves a snapshot each time you visit, building a history of your segment performance.

TECHNICAL MECHANISM: EFFORT DATA EXTRACTION WITH TIME PARSING AND PERFORMANCE VISUALIZATION

The script uses a multi-pass detection strategy to find segment efforts. It searches for effort containers using selectors (.effort-row, .effort, .segment-effort) and falls back to scanning table rows and divs with time patterns (HH:MM or HH:MM:SS). For each effort, it extracts the time using a robust time parser that supports HH:MM:SS, MM:SS, and plain seconds, converting everything to seconds for comparison. Dates are extracted from date patterns, and position (rank) is extracted from #Number patterns. Heart rate is extracted from patterns like "123 bpm" or "123 HR," power from "123 W" or "123 watts," and cadence from "123 rpm" or "123 cadence." The summary calculates total efforts, PR (minimum time), average, and median. The chart is rendered as a bar chart where bar height represents performance relative to the maximum time (higher bars = faster times), with PR bars in green, recent efforts in blue, and others in gray. Each bar has a tooltip with the time and date. Effort snapshots store all metrics with timestamps, capped at 30 entries per domain. The history view shows recent snapshots with effort counts.

THE PANEL

The effort history chart appears in a draggable, resizable panel that remembers its position per site. The panel shows summary stats, a bar chart of effort times, a legend, and a list of recent efforts. Drag by the header to reposition, collapse to a compact icon with a click, and resize using the bottom-right corner. The panel snaps to screen edges for tidy placement and closes with the Escape key. All settings—panel position—persist per website using GM_setValue, so your view returns exactly as you left it.

PLEASE NOTE

This script requires the free BotGentz extension to run. The script relies on Strava's current segment page structure—if Strava updates their layout, effort detection may need updating. The script does not access your Strava account credentials—all data is read from the visible page and tracked locally. The time parser supports multiple formats but may not capture all variations used in different languages. The chart uses a bar chart representation; for segments with many efforts, the bars will be narrower. The PR is determined by the fastest time detected; if multiple efforts have the same time, the first detected is marked as PR. All data is stored locally in your browser via GM_setValue and never transmitted.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.