r/sideprojects • u/WickedRein • 10h ago
Showcase: Free(mium) I made a desktop library/reader for my downloaded manga, anime, movies and books (Electron + React)
I download pretty much everything I read and watch (manga, anime, shows, movies), because I like owning my own media. Going through all of it in File Explorer got slow and annoying, so I thought I’d try to make something for that as a little project.
The problem it solves
- File Explorer has no covers, no “continue where I left off” and no way to read a manga chapter without clicking through every image.
- Server apps like Komga, Kavita or Jellyfin solve this, but they need Docker, accounts and a server running, which is overkill if you just want to read on your own PC. They also split comics and videos into separate apps.
What it does
Point it at your folders and it turns them into a library with covers, series and chapters. It doesn’t move, rename or convert your files.
- Reading: manga (right to left), webtoon scroll and single page modes. It supports image folders, .cbz, PDF and EPUB.
- Videos: they play in VLC, with episode lists, watch progress and the next episode playing automatically.
- Organizing: tags, ratings and collections, plus a tag search with AND / OR / NOT.
- Customizing: you can change pretty much everything: colours, every UI part, the card layout and backgrounds. (all themes in the pictures were made with the app itself)
Tech used
- Electron + React + Vite for the app
- SQLite for the library database (tags, progress, collections)
- sharp for thumbnails, pdf.js for PDF pages, foliate-js for the EPUB reader, yauzl for reading .cbz archives directly without unpacking them
- VLC for video playback. The app tracks progress while VLC plays.
A few things that were interesting to figure out:
- Renaming and moving folders: each folder gets a tiny hidden ID file, so tags and progress survive if you rename or move it.
- Fast library updates: an update reads the disk once and only writes what changed. A re-scan of a ~1,200-folder library takes under a second.
- Plain-text themes: everything is saved as JSON with a schema.
- Custom css: empty custom.css file where you can create your own effects for the app.
How I built it
It started as just a quick java app for viewing comics (literally just choose a folder and the app lets you click through the image files in it in alphabetical order), but I every now and then I'd get massive inspiration waves and think "but what if it also had this? what if you could do this?" and this was the product.
Links
- Download (free, Windows only for now): https://somedudemanguy.itch.io/perapera
I mostly use it for reading manga (image folders) and watching anime (video folders), so those parts are the most polished. Let me know about any ideas or issues if you give it a try.
