Skip to content

ntk148v/strava-rewind

Repository files navigation

🏃 Strava Rewind

A Year In Sport without paying extra fee

GitHub license Next.js Bun TypeScript Tailwind CSS

Table of Contents:

Important

Why do I create this? The Strava Year in Sport stats round-up of a user's activity from the past 12 months is along the lines of similar features offered by other apps, such as Spotify Wrapped. However, while many, like Spotify, give all users the round-up regardless of if they use the free version or pay for a subscription, Strava has put its Year in Sport behind a paywall as a paid feature.

If you wonder, the logo.png is generated by Gemini Nano Banana Pro.

Features

  • Complete Statistics - Distance, time, elevation, and more for every sport
  • Streaks & Consistency - Your longest streaks, most active days, training patterns
  • Performance Highlights - Fastest runs, longest rides, biggest climbs
  • Location Tracking - Countries and cities where you trained
  • Personal Insights - Unique insights tailored to your habits
  • Activity Heatmap - GitHub-style calendar showing daily activity
  • Monthly Charts - Bar charts visualizing monthly progress
  • Sports Pie Chart - Distribution of activities by sport type
  • Achievement Badges - Unlock badges like "Century Rider" and "Everest Climber"
  • Fun Facts - "You ran 47 marathons worth of distance!"
  • Share Card - Generate downloadable stats image for social media
  • Local Caching - Instant load with 1-hour cache, refresh button to update

2. Getting Started

2.1. Prerequisites

  • Bun installed
  • A Strava account
  • Strava API credentials

2.2. Setup Strava API

  1. Go to Strava API Settings
  2. Create an application
  3. Set Authorization Callback Domain to <yourdomain> (If you run it locally, just enter localhost)
  4. Note your Client ID and Client Secret

2.3. Installation

# Clone the repository
git clone https://github.com/ntk148v/strava-rewind.git
cd strava-rewind

# Install dependencies
bun install

# Copy environment file
cp .env.example .env.local

# Edit .env.local with your Strava credentials

2.4. Environment Variables

STRAVA_CLIENT_ID=your_client_id
STRAVA_CLIENT_SECRET=your_client_secret
NEXT_PUBLIC_APP_URL=http://localhost:3000

2.5. Run

# Development
bun run dev

# Production build
bun run build
bun run start

Visit http://localhost:3000 and click Connect with Strava!

3. Screenshots

3.1. Landing Page

Connect with your Strava account to get started.

3.2. Dashboard

View your complete year in sport with statistics, insights, and more.

Releases

No releases published

Packages

 
 
 

Contributors