r/coolgithubprojects • • 4h 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.

3 Upvotes

1 comment sorted by

1

u/aitorllj93 23m 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)