colophon

what this site is made of, and why it's built the way it is

the player

sleepcast is a podcast player made for falling asleep. It plays your own feeds on shuffle and slowly fades to silence on a timer. It all runs in your browser — your feeds live in local storage and never touch a server. There's no database, no account, nothing to leak.

the story shelf

The bedtime stories on the shelf were written by 0.6-billion-parameter language models — roughly a thousand times smaller than the frontier models — fine-tuned to do exactly one thing well: slow, gentle bedtime prose.

They're trained by an adapter factory: a pipeline that writes a persona's topics, generates a training corpus with a local model on a home GPU, fine-tunes a Qwen3 student on it overnight, and ships it only after a human reads its work. The storytellers — Bub Explains, The Sleepy Scientist, The Verse-Teller, The Night Librarian, The Field Guide, and The Slow Historian — are open weights on Hugging Face. The shelf itself is pre-written and served as plain text: nothing generates while you read.

the stack

  • Astro site with React islands, served from Fly.io
  • the player is plain browser JavaScript — an <audio> element, a sleep timer, and a slow volume fade; nothing about your listening is sent anywhere
  • SQLite-free, database-free: your nights live in your browser's local storage, and the story shelf is static prerendered pages

what we deliberately don't use

  • no cloud AI APIs — no story here ever visited a third-party model provider
  • no analytics, no cookies, no accounts, no database of you
  • no subscription — small models are cheap enough to give away

contact

Questions, broken things, or a persona you'd love to hear: nathanib@pm.me