Skip to content

Aryan-Raj3112/episteme

Repository files navigation

Episteme Reader Icon  Episteme Reader

A modern, offline‑first, privacy‑focused document & e‑book reader for Android, built with Kotlin and Jetpack Compose.

Get it on F-Droid Get it on Google Play   Get it on Obtainium


Episteme Reader Preview

Overview

Episteme Reader is an offline-first reader for documents and e‑books on Android. It focuses on a clean and customizable reading experience.

Note: This is the Open Source (OSS) edition of Episteme Reader. The Google Play version is built from this core and may include additional proprietary features.

Features

Supported Formats

  • Documents: PDF, DOCX
  • E‑books: EPUB, MOBI, AZW3, FB2
  • Comics: CBZ, CBR, CB7
  • Text: MD, TXT, HTML

Reading Experience

  • Themes (PDF & EPUB): Light, Dark, Sepia, OLED, Auto (system) and custom
  • PDF Modes: Vertical scroll and paginated view
  • EPUB Modes: WebView-based vertical scrolling and custom paginated engine
  • Custom Fonts: Import user-provided fonts (.ttf, .otf)
  • Typography: Adjustable font size, line spacing, and margins

Annotations (PDF)

  • Ink Annotations: Pen, Highlighter, Eraser
  • Text Annotations: Place notes anywhere, with system or custom fonts

Library & OPDS

  • Library: Built-in organization and quick access to your files
  • OPDS Support: Browse, search, and add books from OPDS 1.x/2.0 catalogs, with optional authentication

Accessibility & Utilities

  • Text-to-Speech (TTS): Read documents aloud using the system TTS engine
  • Offline‑first: Core features work fully offline; no analytics or tracking

Architecture

  • UI: 100% Jetpack Compose (Material 3)
  • Pattern: MVVM with Unidirectional Data Flow
  • Database: Room (SQLite) for metadata and annotations
  • PDF Engine: pdfium-android (Native PDFium bindings)
  • EPUB Engine: WebView for vertical mode; custom renderer for paginated mode
  • MOBI/AZW3: Custom JNI bindings to libmobi
  • OPDS: Lightweight feed parsing and downloading (on-device)

Building from Source

  1. Clone the repository:

    git clone https://github.com/Aryan-Raj3112/episteme.git
    cd episteme
  2. Build:

    • Open in Android Studio and run the ossDebug variant, or
    • Build from the command line:
      ./gradlew assembleOssDebug

    The APK will be generated at:

    app/build/outputs/apk/oss/debug/Episteme-oss-v{version}-oss-debug.apk
    

Open Source Libraries

Powered by the Android OSS ecosystem:

  • Core & UI: AndroidX, Jetpack Compose, Kotlinx Serialization
  • Document Engines: PdfiumAndroidKt (PDF), libmobi (MOBI/AZW3), Google WOFF2 (fonts)
  • Parsers: Jsoup (HTML/EPUB), Flexmark (Markdown)
  • Media & Image Loading: Coil, Media3 (ExoPlayer)
  • Utilities: Room (Database), Timber (Logging)

Contributors

Translations

Help translate Episteme Reader into your native language! Weblate is used to manage localization.

Translation status

License

Licensed under the GNU Affero General Public License v3.0 (AGPL‑3.0). See the LICENSE file.

Support the Project

Help make Episteme Reader even better.

About

A native Android document reader application built with Kotlin and Jetpack Compose.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Contributors