https://github.com/Aryan-Raj3112/episteme
A multi-platform document and e-book reader.
https://github.com/Aryan-Raj3112/episteme
android ebook epub foss jetpack-compose kotlin linux opensource pdf reader windows
Last synced: about 8 hours ago
JSON representation
A multi-platform document and e-book reader.
- Host: GitHub
- URL: https://github.com/Aryan-Raj3112/episteme
- Owner: Aryan-Raj3112
- License: agpl-3.0
- Created: 2026-02-24T12:21:11.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-06-26T07:48:45.000Z (8 days ago)
- Last Synced: 2026-06-26T09:34:25.149Z (8 days ago)
- Topics: android, ebook, epub, foss, jetpack-compose, kotlin, linux, opensource, pdf, reader, windows
- Language: Kotlin
- Homepage:
- Size: 56.7 MB
- Stars: 974
- Watchers: 7
- Forks: 46
- Open Issues: 112
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Cla: CLA.md
Awesome Lists containing this project
README
Episteme Reader
A modern, offline-first, privacy-focused document and e-book reader for Android and desktop, built with Kotlin Multiplatform and Compose.
Android
Desktop
## Overview
Episteme Reader is a customizable reader for documents, e-books, comics, and text-heavy files. The app is designed around local-first reading, deep typography controls, flexible layouts, and a consistent Kotlin Multiplatform core across Android and desktop.
The same core reading experience is available across editions. The main differences are distribution channel, network access, and whether proprietary online services are included.
## Core Features
Available across supported editions unless noted in the edition table:
* **Formats:** PDF, EPUB, MOBI/AZW3, FB2, DOCX, ODT/FODT, TXT, Markdown, HTML, and comic archives.
* **Reading modes:** Paginated reading, vertical scroll, PDF multi-tab reading, PDF reflow, auto-scroll, and musician mode.
* **PDF tools:** Ink annotations, highlighting, erasing, text annotations, and reading-focused PDF controls.
* **Customization:** App themes, reader themes, custom local fonts, typography controls, spacing, margins, and layout tuning.
* **Library tools:** Local folder sync, library organization, bookmarks, progress tracking, and file management.
* **Accessibility:** System text-to-speech, app language selection, and reader settings that adapt to different reading preferences.
## Editions
| Edition | Platform | Network access | Distribution | Notes |
|---|---|---|---|---|
| **Play Store** | Android | Online-capable | [Google Play](https://play.google.com/store/apps/details?id=com.aryan.reader) | Full Android release with proprietary extras such as ML Kit OCR, cloud sync, AI tools, cloud TTS, and PDF bubble zoom. |
| **OSS** | Android | Online-capable | [epistemereader.com](https://epistemereader.com), [GitHub](https://github.com/Aryan-Raj3112/episteme/releases), [F-Droid](https://f-droid.org/packages/com.aryan.reader.oss/), [Obtainium](https://apps.obtainium.imranr.dev/redirect.html?r=obtainium://add/https://github.com/Aryan-Raj3112/episteme) | Fully open-source Android build with OPDS, downloadable fonts, and BYOK access to AI and cloud features. |
| **OSS Offline** | Android | Offline-only | [epistemereader.com](https://epistemereader.com), [GitHub](https://github.com/Aryan-Raj3112/episteme/releases), [Obtainium](https://apps.obtainium.imranr.dev/redirect.html?r=obtainium://add/https://github.com/Aryan-Raj3112/episteme) | Open-source Android build with network permissions removed. |
| **Standard** | Desktop (Linux, Windows) | Online-capable | [epistemereader.com](https://epistemereader.com), [GitHub](https://github.com/Aryan-Raj3112/episteme/releases) | Full-featured desktop release with the shared KMP reader core and online-capable services. |
| **Offline** | Desktop (Linux, Windows) | Offline-only | [epistemereader.com](https://epistemereader.com), [GitHub](https://github.com/Aryan-Raj3112/episteme/releases) | Desktop build focused on local reading with online services disabled. |
Future desktop platforms can use the same Standard and Offline model as support expands.
## Languages
Episteme Reader currently supports: English, Arabic, Belarusian, German, Spanish, Estonian, French, Hindi, Indonesian, Italian, Japanese, Korean, Dutch, Polish, Portuguese (Brazil), Russian, Turkish, Ukrainian, Vietnamese, and Chinese Simplified.
Want Episteme Reader in another language? Please request it through [GitHub Issues](https://github.com/Aryan-Raj3112/episteme/issues/new/choose) or start a thread in [Discussions](https://github.com/Aryan-Raj3112/episteme/discussions).
## Building from Source
1. Clone the repository:
```bash
git clone https://github.com/Aryan-Raj3112/episteme.git
cd episteme
```
2. Build Android:
* Open in Android Studio and run the `ossDebug` or `ossOfflineDebug` variant, or
* Build from the command line:
```bash
./gradlew assembleOssDebug
```
The APK will be generated at:
`app/build/outputs/apk/oss/debug/Episteme-oss-v{version}-oss-debug.apk`
3. Build desktop:
```bash
./gradlew :desktopApp:packageReleaseDistributionForCurrentOS
```
For the offline desktop build, pass:
```bash
./gradlew :desktopApp:packageReleaseDistributionForCurrentOS -PdesktopFlavor=oss
```
## Open Source Libraries
Powered by the Kotlin, Android, and desktop OSS ecosystem:
* **Core and UI:** Kotlin Multiplatform, Compose Multiplatform, AndroidX, Jetpack Compose, Kotlinx Serialization
* **Document engines:** PdfiumAndroidKt, PDFium, libmobi
* **Parsers:** Jsoup, Flexmark, Apache Commons Compress
* **Media and image loading:** Coil, Media3
* **Utilities:** Room, Timber, JNA
## Contributors
| Contributor | Contribution |
|---|---|
|
[CCerrer](https://github.com/CCerrer) | Testing and QA |
|
[ottozumkeller](https://github.com/ottozumkeller) | German translation |
|
[TURBOKANTR](https://github.com/TURBOKANTR) | Turkish translation |
|
[eyadalkordy24](https://github.com/eyadalkordy24) | Arabic translation |
|
[berebara](https://github.com/berebara) | Russian translation |
|
[mh4ckt3mh4ckt1c4s](https://github.com/mh4ckt3mh4ckt1c4s) | French translation |
## Supporters
Thank you to the people helping keep Episteme Reader moving:
| Supporter | Platform |
|---|---|
|
[Myshadowslullaby](https://github.com/Myshadowslullaby) | GitHub Sponsors |
## Support the Project
Help make Episteme Reader better:
* [Sponsor on GitHub](https://github.com/sponsors/Aryan-Raj3112)
* [Support on Patreon](https://www.patreon.com/c/epistemereader)
* Star the repository to help visibility
* Report bugs or request features via [GitHub Issues](https://github.com/Aryan-Raj3112/episteme/issues/new/choose)
* Share feedback in [Discussions](https://github.com/Aryan-Raj3112/episteme/discussions)
* Leave a review on the [Google Play Store](https://play.google.com/store/apps/details?id=com.aryan.reader)
* Tell a friend
## License
Licensed under the GNU Affero General Public License v3.0 only (AGPL-3.0-only). See the [LICENSE](../LICENSE) file.

