Connecting to Strava…
Activities
—
all time
Distance
—
Moving Time
—
hours
Elevation
—
total gain
Eddington #
—
Rides
—
cycling
Runs
—
running
Kudos
—
received
PRs
—
personal records
Longest Ride
—
km
Avg Speed
—
km/h riding
Achievements
—
total
Max Speed
—
km/h
Avg Heart Rate
—
bpm
Best Streak
—
days in a row
Consistency
—
weekly regularity
Calories
—
total kcal
Cycling Performance
Speed Trend — Last 20 Rides
Ride Distance Distribution
Running Performance
Pace Trend — Last 20 Runs
Run Distance Distribution
Trends
Weekly Distance (km)
Year-over-Year Monthly Distance (km)
Avg Speed by Month (km/h)
Activity Split
Activities
Recent Activities
Activities by Distance (bubble size = km)
Activity Calendar — Last 12 Months
Eddington Number
—
Your Eddington Number
The largest number E such that you have completed E rides of at least E km. A beloved metric in the cycling community — originally conceived by astronomer Sir Arthur Eddington.
Progress to next Eddington number
Monthly Stats
Best Efforts
Gear
Activity Heatmap
Starred Segments
Milestones
Year in Review
Trophies & KOMs
Photos
Help & Data
How your data is loaded
- Source. Everything comes from the official Strava API using your own login — this dashboard has no server and never sees your password.
- Activities. Your full activity history is fetched (
/athlete/activities, paged) and cached so revisits are instant. Aggregate "all-time / YTD / last-4-weeks" figures in Trophies come from Strava's totals endpoint (/athletes/{id}/stats). - Caching. Results are cached only in your browser (localStorage) so revisits are instant — nothing is stored on a server. The cache refreshes about once an hour, or immediately when you hit Refresh.
- Detail on demand. When you open Share Story or Segments, extra data is fetched per item — the detailed activity (for Energy/Calories/power), GPS streams (for the waveform charts), and segment routes.
- Units. The km / mi switch in the top bar converts every distance, speed and elevation across the app. Named metric milestones (e.g. "1,000 km Club", Everest) stay metric on purpose.
What the metrics mean
- Eddington Number (E)
- The largest E where you've ridden at least E km on E separate days. E=70 means 70 rides of ≥70 km. A tough, cumulative measure of consistent big days. (Recomputed in miles when mi is selected.)
- Consistency
- How even your training is week to week, over your active span (up to 26 weeks). It's 100·(1 − the variation of your weekly activity counts), so wildly uneven weeks and gaps lower it — being active most weeks alone won't give 100%.
- Activity / Day Streak
- Your longest run of consecutive calendar days with at least one activity.
- Moving vs Elapsed Time
- Moving time excludes pauses/stops; elapsed time is the full wall-clock duration. Stats here use moving time.
- Avg / Max Speed
- Average and peak speed Strava recorded for the activity, shown in km/h or mph.
- Best Pace
- Runner metric — minutes per km/mi for your fastest run.
- Cadence
- Pedalling or step rate — rpm (revolutions per minute) for rides, spm (steps per minute) for runs.
- Elevation Gain & Highest Point
- Total metres (or feet) climbed — the sum of all uphill sections — and the highest altitude reached on the route.
- Avg / Max / Normalized Power
- For rides with a power meter: your mean and peak watts, plus Normalized Power — a weighted average that reflects the metabolic cost of changing efforts better than a plain average.
- Energy (kJ) & Calories
- Work done / energy burned, from Strava's detailed activity (power-based for rides). Some activities have no value if Strava didn't compute one.
- Temperature
- Average ambient temperature recorded by your device during the activity, when available.
- Suffer Score / Relative Effort
- Strava's measure of how hard a session was, based on time spent in heart-rate zones.
- VAM
- Velocità Ascensionale Media — your average vertical climbing speed in metres (or feet) per hour, from your PR time on a climb. Higher = a stronger climb; elite climbs are ~1,600+ m/h.
- KOM / QOM / CR
- King/Queen of the Mountain / Course Record — being the fastest-ever on a segment. "With PR" means you have a personal record on it.
- PRs & Achievements
- Personal records and trophies Strava awarded on your activities (e.g. fastest 5 km, biggest climb).
- Kudos & Comments
- The "likes" and comments your activities received from other athletes.
What each section shows
- Overview
- Headline stat cards for the selected sport — totals, averages, best efforts, kudos and achievements across your loaded activities.
- Cycling / Running
- Sport-specific performance: your fastest efforts, a speed or pace trend over recent activities, and top rides/runs.
- Trends
- Distance per week and per month, plus a rolling speed/pace chart, so you can see your training direction over time.
- Activities
- Your most recent activities as a list — click any row to open its full detail card — alongside a distance bubble chart.
- Calendar
- A 12-month contribution grid: one cell per day, shaded by how many activities you did, with active-day and streak totals.
- Eddington
- Your Eddington number with a chart of how many more long days you need to reach the next milestone.
- Monthly
- A month-by-month breakdown of distance, time and activity count, and a side-by-side comparison of recent months.
- Best Efforts
- Your longest, fastest and biggest-climbing activities, ranked.
- Gear
- Per-bike and per-shoe totals (distance and rides), pulled from the gear registered on your Strava profile.
- Heatmap
- An interactive map with every route's GPS trace overlaid, so your most-ridden roads glow brightest.
- Segments
- Your starred segments with maps, your PR time, KOM/QOM status and VAM on each. Tap the expand button on any segment to open a big, zoomable map with the full route and every detail.
- Milestones
- Named distance and elevation achievements (e.g. "1,000 km Club", an Everest of climbing) and how close you are to the next.
- Rewind
- A year-in-review summary of a chosen year — totals, highlights and standout activities.
- Trophies
- All-time, year-to-date and last-4-week totals from Strava's stats endpoint, plus any KOMs/CRs.
- Photos
- A gallery of photos attached to your activities, opening in a full-screen lightbox.
- Share Story
- Generate a 9:16 shareable image of any activity, with multiple layouts, colour themes, a custom background and selectable stats.
Tips
- Activity details. In Activities, click any row to open a card with its route map, full metrics (speed/pace, power, heart rate, cadence, energy, kudos and more) and a link to open it on Strava.
- Sport mode. The Cyclist / Runner toggle filters most sections to that sport, so pace, speed and distance charts reflect just those activities.
- Refresh. Data is cached for speed; hit Refresh to pull the latest activities from Strava immediately.
- Privacy. Use Disconnect to clear this device's tokens and cache, and revoke access entirely from Strava → My Apps.
FAQ — Data & Privacy
- What is Ascent?
- Ascent is a free, independent web app that turns your Strava activity history into a personal analytics dashboard and a share-card studio — stats, trends, heatmaps, segments, calendar, Eddington number, milestones, and 9:16 story cards. Everything runs in your browser and it's not affiliated with Strava.
- Do you collect my data?
- Only your own Strava data, and only after you authorize the app through Strava's secure login (OAuth) — we use it to show you your stats. We also use privacy-friendly analytics (Google Analytics) to understand aggregate, anonymous usage so we can improve the app; this never includes your personal Strava data. We never see your Strava password, we don't collect payment info, and we never sell your data.
- How is my data processed?
- Almost everything (stats, charts, maps, story images) is computed in your browser. Your recent activities are cached so the app loads instantly on repeat visits. The only data we ever write back to Strava is reassigning gear — and only when you explicitly choose to.
- Where is my data stored?
- Only on your device — in your browser's localStorage (login tokens, preferences, and a copy of your recent activities). Nothing is stored on our servers — no activity database, and your tokens are never saved server-side. Your password is never stored.
- Is Ascent safe? How is it secured?
- Your data and tokens live only in your browser (no server-side database to breach); we never see your Strava password; the app's confidential Strava client secret is kept on the server and never shipped to the browser; the only server step is a tiny function that completes Strava's token exchange and stores nothing; and traffic is HTTPS with minimal scopes. You can wipe everything anytime with Disconnect.
- Why isn't my token stored on a server?
- It doesn't need to be, and it's safer not to. Tokens stay in your browser and go straight to Strava. The only thing kept server-side is the app's client secret (so it can't be stolen from the page); the exchange that uses it runs transiently and saves nothing.
- Do you sell or share my data?
- No. We never sell, rent, trade, or share your personal data for advertising or marketing, and we don't build profiles for third parties or use it for anything unrelated to the features you use.
- What permissions does the app request?
read,activity:read_all, andprofile:read_all(to read your activities & profile), plusactivity:write— used only when you reassign gear on an activity yourself.- Which third parties are involved?
- Strava (the source of your data), Vercel (static hosting), Google Analytics (aggregate, anonymous usage), and map/asset providers like CARTO & OpenStreetMap (which may see your IP address as a normal part of serving maps and fonts). There's no server-side database for your data.
- Can I delete my data or disconnect?
- Yes, anytime. Use Disconnect to clear this device's tokens and cached data, and revoke the app's access entirely at Strava → My Apps. Since nothing is stored on our servers, that fully removes your data.
- Is this an official Strava app?
- No. Ascent is an independent, free, personal-use dashboard for your own Strava data. It is not affiliated with, endorsed by, or sponsored by Strava, Inc.
Full details in our Privacy Policy and Terms of Service.
Built as a static site on Vercel. Your activity data stays tied to your Strava account; the km/mi and Cyclist/Runner preferences are stored locally in your browser.
This app is independent and not affiliated with or endorsed by Strava, Inc.









