openreader/docs-site/docs/introduction.md
Richard R 4b26531172 chore(worker): migrate compute worker from Redis/BullMQ to NATS JetStream
Replace Redis and BullMQ with NATS JetStream and KV for job queuing and state management
in the compute worker service. Update environment variables, Docker Compose, and documentation
to reflect the new message queue backend. Adjust dependencies and code to use NATS-based
work queue and key-value storage for durable job processing.

This change improves scalability and reliability of distributed compute workloads by leveraging
NATS JetStream's work queue and persistence features. Documentation and configuration examples
are updated to guide deployments using the new backend.
2026-05-20 07:38:03 -06:00

2.8 KiB

id title slug
intro Introduction /

OpenReader is an open source text-to-speech document reader built with Next.js. It provides a read-along experience with narration for EPUB, PDF, TXT, MD, and DOCX documents.

Previously named OpenReader-WebUI.

It supports multiple TTS providers including OpenAI, Replicate, DeepInfra, and custom OpenAI-compatible endpoints such as Kokoro-FastAPI, KittenTTS-FastAPI, and Orpheus-FastAPI.

Highlights

  • 🧱 Layout-aware PDF Parsing
    • PP-DocLayoutV3 (ONNX) detects structured blocks with cross-page stitching and geometry-based highlighting for precise read-along sync and clean TTS segmentation
  • ⏱️ Word-by-word Highlighting via ONNX Whisper alignment
    • No external dependencies — runs in-process (COMPUTE_MODE=local) or offloaded to a scalable NATS JetStream-backed worker (COMPUTE_MODE=worker)
  • Segment-based TTS Playback
    • Sentence-aware generation with cached audio segments, background preloading, and resumable playback across EPUB, PDF, TXT, MD, and DOCX
  • 🎯 Multi-Provider TTS Support
  • 🎧 Audiobook Export in m4b/mp3 with resumable chapter generation
  • 🗂️ Flexible Backend — embedded SeaweedFS or S3-compatible storage, SQLite or Postgres, server library import, and device sync
  • 🔐 Auth Optional — run no-auth for local use, or enable full user isolation with a claim flow for multi-user deployments
  • 🎨 Customizable — 13 built-in themes (light and dark palettes), per-user TTS settings, and document handling controls

🧭 Key Docs

Source Repository