Printable pace bands adjusted for course hills

ConsumerWebweekendNext.jsReact PDFStripe

The idea

Runners train for months, then pace a hilly race with a band built for flat ground. Even splits on the Boston course means blowing up in the Newton hills; the correct plan banks nothing downhill and gives back time uphill at even effort. Runners know this in theory and have no tool that turns it into wrist-level numbers.

The wedge is grade-adjusted splits for the actual course, preloaded for the 200 races people actually run. Expo stands sell flat laminated bands for 5 to 10 dollars; this sells a smarter one for less, delivered as a print-at-home PDF and a lock-screen image the runner will glance at from mile one.

Who pays

The buyer paid a 150-plus dollar entry fee and will spend 300 dollars on shoes this year; 4 dollars per band or 9 dollars a season is impulse-purchase territory via Stripe. Distribution: SEO on race-name pace chart queries (each of 200 races is a landing page), r/AdvancedRunning and r/running, and running-club newsletters in the eight weeks before each major.

MVP scope

  • 200 preloaded race elevation profiles with smoothed grade data
  • Goal-time input with grade-adjusted split maths normalised to the exact goal time
  • Elevation chart with split overlays and toughest-miles callout
  • Wristband PDF export with cut lines plus lock-screen image export
  • Stripe checkout: per-band and season pricing
  • Skip for v1: GPX upload (season tier, fast follow), weather adjustment, watch integrations, training plans
// Build prompt — paste into Cursor / Claude Code / Lovable / Bolt
Build HillSplit, a Next.js web app that generates course-adjusted pace bands for marathons and halves.

Data: preload elevation profiles for the 200 biggest marathons and halves (Boston, NYC, Chicago, London, Berlin, plus regional races), stored as per-mile and per-km grade arrays. Source from GPX files, smoothed with a rolling window to kill GPS elevation noise before computing grades.

Core flow: pick a race, enter a goal time, choose mile or km splits and an optional even-effort vs slight-negative-split strategy. Compute grade-adjusted splits: hold effort constant using a standard grade-adjustment curve (roughly 12-15 seconds per mile slower per 1 percent uphill grade, about half that gained downhill, non-linear on steep grades), then normalise so splits sum exactly to the goal time. Show the result as a table plus an elevation chart with split overlays, and a callout of the 3 toughest miles.

Output: a wristband-sized PDF via React PDF (cut lines, fold guide, cumulative and per-split times, tiny elevation sparkline) sized to wrap a wrist, plus a phone lock-screen image (1170x2532 and a generic size) with the same data readable at a glance.

Pages: Home with race search, Band builder, Preview/download, My bands.

Pricing via Stripe: 4 dollars per band or 9 dollars per season for unlimited. Free preview shows the chart and the first 5 splits, watermarked. Let users upload a GPX for unlisted races at the season tier.

// More Consumer ideas