-
Notifications
You must be signed in to change notification settings - Fork 2
Home
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
- Getting started — Install, sign-in, first listen
- Fiction sources — All twenty-seven backends and their setup paths
- AI chat — Seven providers, grounding, recaps, sessions
- Voices — Piper, Kokoro, KittenTTS, Azure HD, voice library
- Voice catalog — Flat reference of all catalog entries
- Settings reference — Every knob explained
- Architecture — Forty-one modules, plugin seam, data flow
- Building from source — Toolchain, gradle, signing
- Troubleshooting — Sideload, voice download, BYOK setup, OAuth flow
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 aModelSpec/loadModeldata contract,@VoicePluginKSP-generated bindings, and an optionalStreamingSynthpooled-parallel-synth capability. (#1488) -
Notion sub-pages now become chapters. A Notion page whose entries are child sub-pages (not
heading_1sections) 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)
-
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).
Start here
Using Candela
- Fiction sources
- Reading & library
- Export & extras
- Voices
- Voice catalog
- AI chat
- Cloud sync
- Accessibility
- Settings reference
- Troubleshooting
Developer
Project