TrailcastsTrailcasts

Changelog

What we shipped.

Active product. Newest first. Updated whenever something meaningful lands in production.

  1. race-directorPro+ Team

    Race director Pro features — embed, GPX, webhook ingest

    Sprint D shipped end-to-end. Race-director story now has everything a paying customer expects on day one.

    • Embed iframe `/r/<slug>/embed` — bare race map with optional leaderboard, iframable on any origin via middleware-level CSP override.
    • Per-runner GPX download from the race admin — live data pulled from the matching provider (Garmin, SPOT, Zoleo, webhook).
    • Webhook ingest endpoint POST `/api/r/<slug>/ingest` with Bearer auth, batch support, lat/lon validation. Trackers with `provider=webhook` get their session straight from the ingest table.
    • Provider-agnostic session loader (`lib/raceTrackerSession.ts`) — one code path serves both MapShare-polled and webhook-fed runners.
  2. adminrace-directorlaunch

    Admin tools, race director MVP, launch polish — 24 h sprint to prod

    Sprint A + B + C shipped together. Production is launch-ready for Show HN.

    • Synthetic feed generator (`/admin/feeds`) — upload a GPX, get N MapShare-compatible URLs spread along the route. Race demos without a single physical inReach.
    • Admin dashboard, user search/detail page, plan switcher, CSV export with fake-runner names.
    • Race entity + bulk CSV import + public `/r/<slug>` page with searchable / filterable leaderboard, status badges, mobile bottom sheet.
    • Multi-tracker share links (`shareLink.mapshareConfigIds`) — one share, multiple devices.
    • Cookie banner with PostHog gating, EU trust strip, GDPR-compliant by default.
    • Per-route OG images for FAQ, press, vs-comparison, demo, status. Sitemap + robots.txt.
    • Onboarding wizard for new signups — paste URL, pick provider, done.
    • UptimeRobot-backed `/status` page with live monitor list and outage banner.
  3. multi-trackerdemo

    Multi-tracker foundation + live demo

    First commits of the multi-tracker stack and the public live demo at `trailcasts.com/demo`.

    • TrackMap renders every configured Garmin / SPOT / Zoleo at once — own colour, marker, track line.
    • `/trackers` page for adding, removing, promoting trackers between primary and secondary.
    • `/demo` page mounts the real app shell against a synthetic UTMB Stage 3 feed (480 trkpts, +2390 m elevation, ±20 m GPS jitter, 10 h loop) — anyone can see the product live without owning a device.
    • Snap-to-trail rendering, raw-pings overlay, tracer along the GPX — all working against synthetic data so demo screenshots are reproducible.

Want to be notified about new releases?

Follow on X or read the founder's Indie Hackers updates.