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

Candela wiki

Current version: v1.12.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: thirty-three 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.12.0 — Lunar Relic — The TechEmpower benefits paperwork companion — scan a form, fill it on-phone, keep your proofs, decode dense notices, and never miss a deadline — all on-device and bilingual.

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


Pages

What's new in v1.12.0

Lunar Relic. The TechEmpower benefits paperwork companion — scan a form, fill it on-phone, keep your proofs, decode dense notices, and never miss a deadline — all on-device and bilingual.

  • Multi-page document scanner → shareable PDF — capture a stack of pages with the camera and export one clean PDF to share, email, or print. Standalone "no scanner at home" value. (#1513)
  • Photo → fillable PDF — photograph a paper benefits form, fill its fields on-phone (tap-anywhere text + draw-signature, plus heuristic field detection) and export a flattened PDF that looks like the completed paper. Fully on-device; TalkBack-navigable field list. (#1512)
  • "My Documents" encrypted wallet — keep benefits proofs in a device-credential-gated, encrypted-at-rest store, program-aware and excluded from every backup/sync. (#1514)
  • Notice deadline keeper — photograph a letter and Candela reads the date and sets a local reminder before the deadline. On-device. (#1515)
  • Benefits letter decoder — a NOA form-number becomes a plain-language + Spanish explainer from a verified corpus; an unknown form says so honestly rather than guessing. (#1516)
  • Offline benefits screener — the client-side /qualify (33 programs) bundled on-device, so "what do I qualify for?" works with zero connectivity. (#1517)
  • "Make the call" guided scripts — verified call-card scripts with tap-to-dial and optional answer capture. (#1518)
  • Saved household profile — a local, encrypted profile that autofills scanned-form fields; a regression fence locks it out of cloud sync. (#1519)
  • Google Drive Connect — a Browse Connect entry point + empty state for the Drive source (folder-Picker + refresh follow-ups tracked). (#1534)
  • Privacy policy + walkthrough no longer deny microphone access — the app uses on-device speech (recording + teleprompter ASR) and now discloses it correctly (audio never leaves the device). Launch-blocker. (#1589)
  • Wallet store serialized against concurrent access + hardened error handling so decrypted pages always wipe on failure. (#1593)
  • Google Drive OAuth moved off the main thread (ANR risk) and the Connect empty-state only shows on a genuine Drive-auth error, not any network blip. (#1588)
  • Fiction-id <pluginId>:<localId> prefix is now enforced with a loud runtime check + a contract-kit assertion (colon-less ids silently routed to the wrong source). (#1564)
  • new-source.sh --local generates a Reader-as-interface seam so Context/asset-backed sources stay pure-JVM-testable. (#1562)
  • Browse auto-refreshes when a source's config is saved (e.g. connecting Notion) instead of showing a stale empty page. (#1556)

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