{
  "version": "1.2.0",
  "chapters": [
    {
      "startTime": 1,
      "title": "Kicking off: Radio Detox goes video, guest intro"
    },
    {
      "startTime": 85,
      "title": "Origin story: From lost Nike Run Club data to Runster idea"
    },
    {
      "startTime": 194,
      "title": "Building the MVP and NosFabrica accelerator experience"
    },
    {
      "startTime": 368,
      "title": "Design choices: Not another social feed—Nostr as backend"
    },
    {
      "startTime": 408,
      "title": "Health integrations and Nostr Health Sync vision"
    },
    {
      "startTime": 495,
      "title": "Onboarding made simple: one‑button NPUB and multi‑activity logging"
    },
    {
      "startTime": 655,
      "title": "AI and privacy: PPQ integration, anonymous coaching"
    },
    {
      "startTime": 737,
      "title": "Why switch? Social sharing, but mainly rewards coming back"
    },
    {
      "startTime": 888,
      "title": "Kind 1301 workout summaries and interoperable health data"
    },
    {
      "startTime": 1001,
      "title": "OPSEC lessons: avoiding GPS doxxing and honeypots"
    },
    {
      "startTime": 1144,
      "title": "Local‑first storage vs centralized backends"
    },
    {
      "startTime": 1288,
      "title": "Data abuses: cases around Strava, Nike, Garmin, Fitbit"
    },
    {
      "startTime": 1462,
      "title": "Everyday privacy stance: saying no to phone numbers and apps"
    },
    {
      "startTime": 1648,
      "title": "Runster’s open‑source, anonymous accounts ethos"
    },
    {
      "startTime": 1776,
      "title": "Feature tour: activities, fasting, goals, events, templates"
    },
    {
      "startTime": 1890,
      "title": "Music experiments: past Wave Lake and Blossom integrations"
    },
    {
      "startTime": 1901,
      "title": "Announcement: Runster Season 2—1,000,000 sats to charities"
    },
    {
      "startTime": 2021,
      "title": "How Season 2 works: leaderboards, per‑workout charity routing"
    },
    {
      "startTime": 2156,
      "title": "Climate realities and training habits—treadmills to desert heat"
    },
    {
      "startTime": 2211,
      "title": "Vibe coding journey: from learning to shipping with AI help"
    },
    {
      "startTime": 2501,
      "title": "Debugging realities: context windows, resets, and tooling"
    },
    {
      "startTime": 2605,
      "title": "runster.club: low‑fee event pages vs legacy ticketing"
    },
    {
      "startTime": 2822,
      "title": "Nostr + Bitcoin synergy: global events without middlemen"
    },
    {
      "startTime": 3001,
      "title": "Recognition and partnerships: NosFabrica win, PlebLab, IRL races"
    },
    {
      "startTime": 3086,
      "title": "Closing vibes: Wave Lake favorites and stepping into the light"
    }
  ]
}