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