-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Current version: v1.4.5 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.4.5 — Six bug fixes + secrets audit — Inbox and history taps load correctly, RR follow works when signed in, lock screen skip wired to chapter advance, voice model crash replaced with graceful recovery, CI hardened for all runners.
📖 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 modules, plugin seam, data flow
- Building from source — Toolchain, gradle, signing
- Troubleshooting — Sideload, voice download, BYOK setup, OAuth flow
Six bug fixes + secrets audit. Inbox and history taps load correctly, RR follow works when signed in, lock screen skip wired to chapter advance, voice model crash replaced with graceful recovery, CI hardened for all runners.
- Inbox "new chapter" tap no longer hangs on "loading chapter" — now calls
startListeningbefore navigating, mirroring the proven FictionDetail path. (#1343 / #1345) - History entry tap no longer hangs on "loading chapter" — same root cause and fix pattern as inbox, with
autoPlay = falseto preserve browse intent. (#1350 / #1351) - RR follow works when signed in — harvest CSRF token from
/fictions/search(reliable server-rendered form) instead of the fiction page (AJAX-driven, no hidden input). Splits the old single error into three honest outcomes. (#1331 / #1346) - Lock screen / notification pill skip buttons wired to chapter advance via
handleSeekoverride in EnginePlayer. (#1341 / #1348) - Voice model crash (native SIGSEGV) replaced with graceful "re-download or pick another voice" error —
VoiceManager.modelFilesPresent()guards the JNI load path. (#1342 / #1349) - CI
local.propertiesmaterialization uses rebrandedcandelapath + Actions secret fallback +::warning::on sync-disabled tag builds. Defense-in-depth.gitignoreentries for.envand service-account JSON. (#1347)
-
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