Mohammad Khalid
(01)Case study← All work

A private, open-source Android app to read, listen to and remember books, with sentence-synced narration, spoiler-free AI study tools and FSRS-6 spaced repetition.

Index
01 / 09
Stack
Kotlin · Jetpack Compose · Media3
Live
github.com/iamkhalid2/Kepler ↗
Fig. 01 · SpectrumOne emission line per tool, each at a fixed wavelength, so projects built with the same tool light the same line.

Overview

Most ebook readers only display text, audiobook players narrate without context, and highlights fade from memory. Kepler is a native Android app built on one premise: books should be internalized, not just consumed. It unites an EPUB reader, narration with sentence-level read-along and an active recall loop in one place.

Key Features

  • Read: EPUB reader on Readium 3.4 with Literata typography, paper themes and SQLite FTS5 in-book search
  • Listen: Fish Audio or fully offline system TTS, highlighted sentence by sentence as it plays through a Media3 player with sleep timer and lock-screen controls
  • Remember: FSRS-6 flashcards, chapter packs (gist, key ideas, concepts, check-in questions) and a concept map of what you have read
  • The AI Fence: every LLM prompt is clipped at your reading position, so recaps, answers and cards never spoil what comes next
  • Open Exports: highlights and notes as Obsidian-friendly Markdown with deep links back to each sentence, or W3C Web Annotation JSON

Technical Details

A modular Kotlin codebase (core, engine and feature layers) built with Jetpack Compose and Material 3 Expressive. A "text spine" gives every sentence a deterministic id, so bookmarks, highlights, audio sync and study cards survive re-pagination. No analytics or tracking: bring your own Fish Audio and OpenRouter keys, encrypted at rest with AES-256-GCM in the Android Keystore. Licensed GPL-3.0, with signed releases built by GitHub Actions.

→ Next project02 / 09

Pilot