An AI-guided audiobook platform that turns public-domain classics into immersive, narrated experiences — guided commentary, ambient atmospheres, dynamic abridgment, and grounded book chat.
Live at stratabooks.app · POC stage.
| Hero / How it works | Library |
![]() |
![]() |
Audiobooks of classic literature are either robotic TTS or professional narrations with no context. Neither gives you the experience of reading a book with someone who knows it — the pauses where they explain a reference, the atmosphere that matches the scene, the ability to ask "what did that mean?"
Strata builds that. Each episode is a chapter with AI commentary woven in, ambient sound matched to the scene, and a chat that's grounded in the actual text — not hallucinated.
- Guided narration — chapters narrated with commentary woven in at natural pauses
- Ambient atmospheres — scene-matched sound design (rain, crowds, silence)
- Dynamic abridgment — skip the boring parts without losing the thread
- Grounded book chat — ask questions about the text, get answers backed by passages
- Commentary trust layer — full-text grounding, automated verification, admin review gate, interpretive disclaimer
- Tier-checked audio streaming — the paywall holds on every byte
- Next.js 14 (App Router) + TypeScript + Tailwind — full-stack
- PostgreSQL via Drizzle ORM —
shared/schema.tsis the source of truth - Inngest — orchestrates the per-episode pipeline (segment → commentary → verify → abridge → narrate → mix) with pause/resume/retry
- FFmpeg — audio assembly, segment stitching, atmosphere mixing
- ElevenLabs + Microsoft Edge neural voices — TTS driver with provider fallback (free Edge narration, ElevenLabs for flagship content)
- Stripe — webhook-idempotent billing, entitlement read from DB
- Storage-agnostic audio driver — Supabase Storage or Cloudflare R2 in production, local disk in dev
The pipeline is the interesting part. Each episode goes through six stages orchestrated by Inngest, and every stage can fail, retry, or be paused for human review. The commentary layer has a trust pipeline — full-text grounding, automated verification, admin review — so only vetted commentary reaches listeners.
cp .env.example .env.local # DATABASE_URL, JWT_SECRET, provider keys
npm install
npm run db:push # sync schema to your database
npm run dev # http://localhost:5000| Command | What it does |
|---|---|
npm run dev |
Next dev server |
npm run build / npm start |
Production build / serve |
npm test |
Vitest unit/integration tests |
npm run lint |
ESLint |
npm run db:push |
Push schema to DB (Drizzle) |
CI runs typecheck + lint + tests on every PR.
Proprietary. All rights reserved.


