First run

RunForge

Training analytics from your Intervals.icu account. Connect your own Firebase project to sync across devices — or skip and use it locally right now.

Firebase console steps
  1. console.firebase.google.com → Add project (name it RunForge).
  2. Build → Authentication → Sign-in method → enable Google.
  3. Build → Firestore Database → Create database → production mode.
  4. Firestore Rules tab → publish the rule below.
  5. Settings → General → Your apps → </> Web → copy the firebaseConfig object.
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{uid}/{document=**} {
      allow read, write: if request.auth != null
        && request.auth.uid == uid;
    }
  }
}

Heads up: this is saved in this browser only. Open RunForge in a different browser, a private tab, or a fresh install and you'll be asked again — that's the browser, not a bug.

RunForge

Training, measured

Sign in to sync your runs, settings and dashboard across devices.

RunForge
Training analytics
RunForge
Not synced
Fitness score
–/100—
—

This week

Dashboard

Drag a widget by its header to move it anywhere on the grid · drag the corner to resize · double-click the corner for the default size · with a widget's grip focused, arrow keys move and Shift+arrows resize.

Sync

Connect Intervals.icu in Settings, then sync to pull your training history.

Last 12 weeks

Best week This week Other weeks

Heart-rate zones

Run log

Data source

RunForge only reads your Intervals.icu activities. Nothing is written back.

Not connected.

Training goal

Sets the weekly-mileage bar that scores 100. Half is the default 50 mi/wk; marathon training runs 70; 5K training runs 30.

Themes are saved to your account, so every device you sign in on looks the same.

Current
Built-in
My themes
Random theme

Each seed makes one theme, the same way every time — shuffle until one feels right, then keep it, or share the seed. Every random theme is checked so its chart colours stay easy to tell apart, including for colour-blind viewers.

Heart rate

Zones and the training-load model scale to your max heart rate. Leave it blank to use the highest value seen in your runs — one sensor spike can skew that, so set it if you know yours.

Zone boundaries

Lower bound of each zone, as % of max HR. Zone 5 runs to 100%.

Weight

Goal 190 lbs. Weight next to mileage moves more than a score does.

No weigh-ins yet.

Account & data

How the score works

Anchor100 = 1:30 half @ 160 bpm

Pace40%
HR efficiency40%
Volume20%

Motivational, not scientific. Intervals.icu already computes CTL/ATL training load with better math — use that for decisions. This score exists to give the dashboard one headline number, with a band and an attribution so it can explain itself.

Add a widget

Pick a ready-made widget, or build one from any metric.

Design a widget

Live preview

Custom theme

Changes show live on your dashboard.