Skip to content
github-actions[bot] edited this page Jul 4, 2026 · 130 revisions

Candela wiki

Current version: v1.9.0 Candela is TechEmpower's accessible resource app. Browse free tech guides, connect with our peer-support Discord, dial 211 for local help — and listen to any of it through a neural-voice audiobook engine that reads everything aloud.

Under the hood: twenty-seven fiction backends (Royal Road, GitHub, RSS / Atom feeds, local EPUB folders, local PDF files, on-device OCR, self-hosted Outline wikis, Memory Palace, Project Gutenberg, LibriVox, Archive of Our Own, Standard Ebooks, Wikipedia, Wikisource, Radio with 30k+ stations, Notion, Hacker News, arXiv, PLOS, Discord, Telegram, Palace Project, Slack, Matrix, Readability web articles); three in-process voice families (Piper, Kokoro, KittenTTS) with optional Azure HD cloud voices; AI chat per fiction across seven LLM providers with cross-fiction memory, function calling, and multi-modal image input; built for Android phones, tablets, and Wear OS.

📦 Latest release: v1.9.0 — Eldritch Lantern — Anyone can write a source or voice plugin — and Notion sub-pages finally chapter correctly.

📖 Source: github.com/techempower-org/candela · License: GPL-3.0 · Site: candela.techempower.org


Pages

What's new in v1.9.0

Eldritch Lantern. Anyone can write a source or voice plugin — and Notion sub-pages finally chapter correctly.

  • Plugin contributor system — a new source backend or voice engine is now a scaffold command (scripts/new-source.sh, scripts/new-voice-engine.sh) + one annotation, with contract-test kits (core-source-testkit) that turn the tribal gotchas (IO-dispatch pin, auth mapping, Cloudflare detection) into executable checks, and contributor guides (docs/CONTRIBUTING-SOURCES.md, CONTRIBUTING-VOICES.md). Voice engines gain a ModelSpec/loadModel data contract, @VoicePlugin KSP-generated bindings, and an optional StreamingSynth pooled-parallel-synth capability. (#1488)
  • Notion sub-pages now become chapters. A Notion page whose entries are child sub-pages (not heading_1 sections) was collapsing into a single "Intro" chapter; it now reads as an Introduction (the page's lead content) plus one chapter per sub-page. (#1508, #1510)
  • Cloudflare-challenge 403s on Standard Ebooks and Project Gutenberg no longer misreport as "sign in required" (the challenge check now precedes the auth mapping). (#1488)
  • Hacker News transient 403s (Firebase throttling) are retryable again instead of terminally failing downloads — HN has no login to require. (#1488)
  • Cross-family voice swaps can no longer route sentences to the previous voice's parallel-synth pool. (#1488)
  • KSP now generates all source routing; 27 modules of hand-written DI bindings deleted — a new source is annotation-only. (#1400, #1481)

Recent v0.5 highlights

  • Cold launch 6.7 s → 0.8 s on Galaxy Tab A7 Lite (v0.5.46 — R8 + Baseline Profile + isDebuggable=false).
  • Full PCM cache series — streaming-tee, cache-hit playback, background pre-render, Settings UI, status icons (v0.5.47–v0.5.49).
  • Twelve a11y findings closed (v0.5.43) — high-contrast brass-on-near-black theme, reduced-motion fold-in, TalkBack pacing.
  • Nav settled — four-tab dock {Playing · Library · Voices · Settings} (v0.5.50 final, after v0.5.40 restructure).
  • Cross-device InstantDB sync (v0.5.39+) — library, follows, positions, bookmarks, pronunciation, encrypted secrets.
  • KittenTTS lightest-tier voice family (v0.5.36 — #119).

Quick links

Clone this wiki locally