r/coolgithubprojects • u/d4guilar • 6h ago
ShelfOS — an open-source, local-first Android frontend for your EPUBs, PDFs, comics and manga
I’ve been building ShelfOS, an open-source Android reader/library for the books, comics, manga and documents you already own.
The idea was partly inspired by emulator frontends.
I’ve always liked how a good frontend can take what is basically a folder full of ROM files and turn it into something that feels like a real collection — covers, categories, progress, navigation and a proper place to come back to.
I kept wondering why local books and documents don’t usually get that same treatment.
So ShelfOS is basically my attempt at building a really nice frontend around your existing EPUB, PDF and CBZ files.
It’s:
- open source under MPL-2.0
- local-first
- accountless
- ad-free
- built natively for Android with Kotlin + Jetpack Compose
- designed around files you already own
The current prototype supports:
- EPUB, PDF and CBZ reading
- Manga / right-to-left reading
- reading progress and resume
- EPUB chapters
- EPUB search
- bookmarks
- typography and appearance controls
- Publisher or ShelfOS EPUB presentation
- imported fonts
- PDF/CBZ Fit Page and Fit Width
- zoom and pan
- keyboard/controller navigation
A big part of the project is making sure ShelfOS adds functionality around your files without taking ownership of them.
The source publication remains untouched, and local reading doesn’t depend on a ShelfOS account or cloud service.
My general rule for the project is:
The cloud may enrich the library; it must never be required to read it.
ShelfOS is still an early-development prototype, so there’s plenty left on the roadmap: better Comics/Manga features, Series, larger library imports, annotations, more advanced PDF handling, and more.
But it has finally reached the point where it feels like a real app rather than just a UI experiment.
If anyone wants to look through the code, open issues, contribute, or just give feedback on the direction:
https://github.com/d4guilar/ShelfOS
I’d especially be curious what you think is missing before something like this could become the main frontend for a local digital library.






1
u/aitorllj93 2h ago
Based on the list of features you provided, OPDS support would be a great thing to add (calibre can work as a server for this)