Open-source project
Pool-Of-Tears/Myne avatar
Pool-Of-Tears/Myne

Myne Android EPUB reader for Project Gutenberg

An android app to download & read ebooks from Project Gutenberg, built with Jetpack Compose.

1,539 stars100 forksKotlinApache-2.0

At a glance

What is it?
Myne is a free Android app for browsing Project Gutenberg, downloading ebooks, and reading EPUB files. It suits readers who want catalog discovery and a built-in reader in one Compose application, but its documented scope is limited to EPUB and Android 8.0 or later.
Who is it for?
Myne is a reasonable choice for Android users who discover books through Project Gutenberg and prefer one app for EPUB import, download, and reading. It is a poor fit for iOS users, Android devices below API 26, or readers who need documented support for formats other than EPUB.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 34 days ago.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Why Myne combines a Gutenberg catalog with an EPUB reader

Myne addresses a specific gap between finding free books on Project Gutenberg and opening EPUBs on Android. Project Gutenberg supplies a large collection of free ebooks, while Myne presents that collection through its catalog and can open downloaded or imported EPUB files. This makes the app relevant to readers who want one installed application rather than a separate browser, download workflow, and ebook viewer.

The catalog is tied to the GutenDex API, which the project uses to fetch book metadata in the backend. The README says users can browse and download more than 70,000 free ebooks in multiple languages, with the collection updated daily. That figure is the project's documented claim, not an independently checked catalog count.

Myne also accepts EPUB files from outside Gutenberg. The built-in reader therefore serves two related jobs: finding books through the Project Gutenberg catalog and reading locally imported EPUBs. It can alternatively hand a book to another installed ebook reader, which gives users some choice over where reading happens.

The intended platform is explicit. Myne supports Android 8.0 and later, corresponding to API 26 and above. It is an Android application rather than a cross-platform reader, and the documentation does not describe an iOS release, desktop application, or web reader. Users needing those platforms must look elsewhere based on platform requirements alone.

How Myne's catalog, downloads, and reader connect

Myne follows a native Android separation between UI state and data access. The README identifies Kotlin, Coroutines, Flow, LiveData, ViewModel, and Jetpack Compose as parts of its stack. Coroutines move I/O work away from the main thread, while Flow exposes sequential asynchronous values and completions. ViewModel retains UI-related data through configuration changes, and LiveData notifies observers when its underlying data changes.

The catalog path begins with the GutenDex API. According to the README, this API supplies ebook metadata in the backend, which lets the client present book records without treating the catalog logic as part of the composable UI. OkHttp3 is included as the HTTP client. The available documentation does not expose API endpoints, request parameters, retry rules, or caching behavior, so those details cannot be confirmed.

After a user selects a book, Myne can download the ebook and make it available for reading. It also supports importing an EPUB already held on the device. The documented architecture uses a single Android activity and composable destinations, with no fragments. This favors a Compose-based navigation and screen model, although the README does not publish the complete data model or storage schema.

The repository includes an `app/` module and Gradle files, including `build.gradle`, `settings.gradle`, `gradle.properties`, `gradlew`, and `gradlew.bat`. Those entries confirm an Android application project with Unix and Windows Gradle wrapper scripts. They do not establish the Gradle or Android Studio versions required to build it.

Installing Myne through its documented distribution channels

Myne is distributed through Google Play, F-Droid, IzzyOnDroid, and the repository's GitHub releases page. These are application installation routes, not documented source-build instructions. The README does not publish APK filenames, Android Studio setup requirements, Gradle versions, Java versions, or exact commands for compiling the repository. It would therefore be unsafe to present an invented Gradle task as the official installation procedure.

For a Google Play installation, the README links directly to the listing identified by the package name `com.starry.myne`. The address below is copied from the project documentation. Opening it should lead to Myne's Google Play listing, where Android can handle the installation.

bash
https://play.google.com/store/apps/details?id=com.starry.myne

Readers who do not want to use that channel can follow the README's F-Droid, IzzyOnDroid, or GitHub releases links. The documented F-Droid package is also `com.starry.myne`. The repository's latest release is linked from `https://github.com/Pool-Of-Tears/Myne/releases/latest`. The README does not state whether APK signatures remain identical across every channel, so switching distribution methods may require reinstallation rather than a simple upgrade.

Source builders receive both `gradlew` and `gradlew.bat`, but the available documentation stops short of naming a build task or required toolchain. A bare `./gradlew` invocation is therefore not presented as an installation command here. Before building locally, check the repository's Gradle configuration and actual wrapper requirements instead of relying on an undocumented assumption.

Completing a first Myne EPUB download

After installation, Myne's catalog is the natural starting point for a first download. Browse or search the Project Gutenberg collection, inspect the metadata supplied through GutenDex, and use the download action presented by the application. The README says the catalog contains ebooks in multiple languages and is updated daily. Once a download completes, the book should enter the reading flow used by Myne.

The application also supports local EPUB import. For someone deciding whether the built-in reader is suitable, importing a known EPUB is a more direct first exercise than downloading a large book. The README does not enumerate the file picker flow, accepted MIME types, maximum file size, or supported DRM state, so those details must be checked through the installed interface rather than inferred.

Myne can also pass an ebook to a third-party reader. That option gives users a way to separate library organization from the final reading application. The documentation does not name compatible reader apps or describe the handoff mechanism, which makes device verification necessary for anyone planning to rely on that route.

After the first book opens, users should inspect navigation, typography, and any annotation or bookmark controls they expect. The README does not document those reader features. Consequently, opening an EPUB confirms the basic EPUB path, but it does not establish that Myne meets every expectation associated with a full ebook reader.

Compose UI, Material You, and Android-specific constraints

Myne's interface is implemented with Jetpack Compose and follows Material Design 3 guidance. The README says the app uses a single activity, composable destinations, light and dark modes, and Material You theming on Android 12 and later. This creates a native Android presentation with system-driven color treatment where the platform supports it.

The UI and business logic are described as pure Kotlin. That does not mean the application has no Android dependencies. It still depends on the Android framework, Compose components, an HTTP client, and the platform's permission, storage, and lifecycle systems. The API 26 floor is therefore a hard adoption boundary for older hardware.

Material You support is also conditional. Devices running Android 12 or later can apply dynamic system theming, while earlier supported releases retain the app's non-dynamic behavior. The available documentation does not explain the exact palette fallback or whether every screen uses every Material You color role.

Myne offers a built-in reader and an option to use third-party readers. That design is useful when a user wants flexibility, but external-reader compatibility depends on Android's file handoff mechanisms. The README does not state which third-party apps are supported or document the handoff format. Users who depend on a particular external reader should verify that workflow on their own device.

Where Myne is less suitable than an EPUB import or external reader

Myne is the wrong choice for a reader whose format needs are not centered on EPUB. The README explicitly describes EPUB reading and Project Gutenberg downloads, but it does not promise support for other document formats. A library containing mostly DRM-protected files or formats such as MOBI and AZW would not be a documented use case.

Android compatibility can rule it out immediately. Devices below Android 8.0 are outside the stated support range. The absence of documented iOS, desktop, or web clients also means Myne cannot serve as a single cross-platform reader from this repository.

There is a useful alternative inside the app itself: import an EPUB and open it with a third-party ebook reader. The approach differs from Myne's catalog flow. Myne couples GutenDex metadata discovery, downloading, library management, and an integrated reader. A third-party reader can serve as the final viewing layer when it already fits the user's controls or library workflow. However, the documentation does not identify a specific alternative application, so it does not support a feature-by-feature comparison with one.

For users who do not need Project Gutenberg discovery, choosing another EPUB reader can avoid adding catalog features they will not use. For users who frequently browse Gutenberg and want fewer separate applications, Myne offers the more direct path. The decision comes down to format coverage, platform fit, and reading preferences, none of which can be checked more precisely from the current README.

Myne maintenance, upgrades, and the Apache-2.0 boundary

The repository is not archived, and its last push was on 2026-09-21. Recent releases include Myne v5.1.0 on 2026-08-21, v5.0.0 on 2026-05-24, and v4.9.1 on 2026-05-22. These repository facts show recent development activity, although the README does not provide a release policy, migration guide, support window, or schedule for Android platform upgrades.

Users receive upgrades through the distribution channel they selected. A Google Play installation is tied to Play's update delivery, while F-Droid, IzzyOnDroid, and GitHub releases are separate acquisition paths. The README does not say whether downloaded books migrate automatically between these installations or whether release APK signatures remain compatible. Confirm that behavior before treating a manually installed update as a drop-in replacement.

Myne is licensed under Apache-2.0, and the repository includes a `LICENSE` file. The README also states that the application contains no ads and does not sell user data. These are project statements, not substitutes for examining the application code, privacy-related permissions, or distribution terms during adoption.

For contributors, `CONTRIBUTING.md` contains the instructions referenced for bug reports, feature requests, questions, and other contributions. Translation work can proceed through Weblate or by editing the base Android string resources at `/app/src/main/res/values/strings.xml`. The README does not document how imported EPUB files are backed up, how to transfer libraries without recreating them, or whether downgrades across major versions are supported.

Editorial conclusion

Myne is a reasonable choice for Android users who discover books through Project Gutenberg and prefer one app for EPUB import, download, and reading. It is a poor fit for iOS users, Android devices below API 26, or readers who need documented support for formats other than EPUB. Verify the selected download channel, Android version, EPUB rendering, and reading controls before adopting it as a daily reader.

Frequently asked questions

Which Android versions can run Myne?

Myne supports Android 8.0 and later, meaning API 26 and above. The README does not document support for older Android releases.

Does Myne work as an EPUB reader outside Project Gutenberg?

Yes. The README says Myne can import EPUB files and also offers an option to use third-party ebook readers.

Where can I install Myne?

The README links to Google Play, F-Droid, IzzyOnDroid, and the latest GitHub release. It does not provide exact build-from-source environment requirements.

What source does Myne use to show Project Gutenberg books?

Myne uses the GutenDex API to fetch ebook metadata in the backend. The README does not publish the underlying endpoint or caching configuration.

Does Myne contain ads or sell personal data?

The project states that Myne contains no ads and does not sell user data. Its published license is Apache-2.0.

Official sources

  1. License: Apache-2.0
  2. Pool-Of-Tears/Myne on GitHub
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/pool-of-tears-myne.svg)](https://hysenlabs.com/projects/pool-of-tears-myne)

Was this useful?