{"id":27789137,"url":"https://github.com/malcolmreed-ent/rose","last_synced_at":"2026-05-01T04:40:10.347Z","repository":{"id":290364902,"uuid":"974210399","full_name":"MalcolmReed-ent/Rose","owner":"MalcolmReed-ent","description":"Built with Kotlin and Compose — an EPUB reader that does less, so you feel more.","archived":false,"fork":false,"pushed_at":"2025-04-28T12:33:50.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-28T12:51:01.145Z","etag":null,"topics":["android","app","application","book-reader","epub","epub-reader","foss","jetpack-compose","kotlin","material-you","material-you-3","reader","reading","reading-app"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MalcolmReed-ent.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-28T12:27:18.000Z","updated_at":"2025-04-28T12:35:49.000Z","dependencies_parsed_at":"2025-04-28T12:51:15.369Z","dependency_job_id":"4d21eec5-3537-4acf-b92d-d44d83364413","html_url":"https://github.com/MalcolmReed-ent/Rose","commit_stats":null,"previous_names":["malcolmreed-ent/rose"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MalcolmReed-ent%2FRose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MalcolmReed-ent%2FRose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MalcolmReed-ent%2FRose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MalcolmReed-ent%2FRose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MalcolmReed-ent","download_url":"https://codeload.github.com/MalcolmReed-ent/Rose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251754174,"owners_count":21638462,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","app","application","book-reader","epub","epub-reader","foss","jetpack-compose","kotlin","material-you","material-you-3","reader","reading","reading-app"],"created_at":"2025-04-30T17:45:30.840Z","updated_at":"2026-05-01T04:40:10.298Z","avatar_url":"https://github.com/MalcolmReed-ent.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rose Reader\n\nA lightweight EPUB reader for Android that does one thing — and does it well.  \nInspired by NovelDokusha, Tachiyomi, Mihon, and shrimqy's Mizumi to create something simple, clean, and lasting.\n\n---\n\n## Features\n\n- Local EPUB reading — and only EPUB. No distractions.\n- Chapter navigation built right into the reader.\n- Full image and GIF support.\n- Position recall — because your time is precious.\n- Runs smooth, even on devices others have long given up on.\n\n---\n\n## Screenshots\n\nA picture says more than a thousand promises.  \nHere’s a glimpse of what you’re stepping into with Rose:\n\n|             Library             |             Settings              |\n|:-------------------------------:|:---------------------------------:|\n| ![](screenshots/library.png)    | ![](screenshots/settings.png)     |\n|           Book Info             |            Reader                 |\n| ![](screenshots/book_info.png)  | ![](screenshots/reader.png)       |\n\n---\n\n## The Pitch\n\nPicture this: a world where your apps don't shout for your attention — they whisper.\n\nWhere less isn't just more — it’s everything.\n\nRose was born from a simple, stubborn idea:  \n*What if a reader did less... but did it better?*\n\nI tried my hand at building one before — you’ll find *Vera* gathering dust in the archives.  \nIt wasn’t terrible. It just wasn’t *right.*  \nAnd like any good creative chasing the next shiny object, I walked away from it. More than once.\n\nBut not this time.\n\nRose is the distilled spirit of Mizumi — itself a lean remix of NovelDokusha.  \nBook-story by Acclorite? A wonder. But it tried to be too much at once — a translator, an animator, a circus act.  \nI didn’t need fireworks.  \nI needed a quiet place to read.\n\nSo I took Mizumi’s 8,000 lines of code, and stripped it to the bone — down to 7,000 lines that mattered.  \nGone are the translators, the scraping, the networking, the gimmicks.  \nWhat’s left is pure, undiluted reading.\n\nWant the details? They’re tucked neatly away in the [CHANGELOG.md](CHANGELOG.md). Like an old briefcase full of pitches that still matter.\n\n---\n\n## What Really Happened\n\nIt started in October 2024.  \nA folder. A project. *Rose.*\n\nInside that folder lived ten tarball archives — *v1* through *v10* — each one a chapter of slow, stubborn progress.  \nMy old-school method of backup: simple, primitive, reliable enough... or so I believed.\n\nEach version was a little better than the last.  \nA little tighter. A little closer to the truth of what I wanted Rose to be.\n\nBut fate is a cruel partner.\n\nOne Friday night — a few drinks too deep, a few bad keystrokes — and the whole archive was wiped away.  \nWeeks of work, gone in a flash.  \nThe only survivor?  \nA forgotten microSD card, tucked away in a drawer — carrying an old backup of *v1.* Outdated, imperfect, but alive.\n\nAfter that... the fire to rebuild it from scratch was gone.  \nThe settings page, the theme selector, all the polish I meant to add — left unfinished, like a half-sketched ad campaign that never aired.\n\nSometimes, you realize it’s not about rebuilding.  \nIt’s about handing off the torch.\n\nRose isn’t perfect.  \nIt isn’t finished.  \nBut it’s real.\n\nNow it’s yours.  \nTake it. Shape it. Make it better than I ever could.\n\n---\n\n## Fork Family Tree\n\nNovelDokusha → Mizumi → Rose\n\nEvery idea has roots.  \nRose didn’t just appear out of thin air — it’s the refined product of a lineage that dared to think differently.\n\n---\n\n## Implementation Notes\n\nRose was built from Mizumi commit `da8282eab2`, chosen for one simple reason:  \nIt had the right bones.\n\nWhat Mizumi brought to the table:\n\n- Solid EPUB parsing — dependable and strong.\n- Image handling — crisp, effortless.\n- Material 3 design — using Jetpack Compose to build for tomorrow.\n- Clean, readable code — no spaghetti, no smoke and mirrors.\n- Core features — and none of the excess.\n\nAnd just as importantly, what Mizumi left out:\n\n- No text-to-speech clutter.\n- No bottom bar weighing down the reader.\n- No network scraping to gum up the experience.\n\nWhen you want the best, you don’t reinvent the wheel.  \nYou find the best version — and make it better.\n\n---\n\n## Acknowledgements\n\n- [Nina](https://github.com/nanihadesuka) for [NovelDokusha](https://github.com/nanihadesuka/NovelDokusha) — the first spark.\n- [shrimqy](https://github.com/shrimqy) for [Mizumi](https://github.com/shrimqy/Mizumi) — the foundation that made Rose possible.\n- JetBrains — for giving us Kotlin, a tool as elegant as the work demands.\n- The Jetpack Compose team — for building a modern UI toolkit that feels effortless.\n\nWant to see it for yourself?  \nClone the project, run `assembleRelease`, and step into a reading experience that feels like coming home.\n\n---\n\n## Acknowledgements Emphasized\n\nIt would be a crime not to give special thanks to [shrimqy](https://github.com/shrimqy).\n\nStripping 20,000 lines of code down to its essentials isn’t a task — it’s a war.  \nAnd shrimqy won it beautifully.  \nMizumi wasn’t just a fork — it was a revelation.  \nAfter I debloated it, it became my daily reader. My quiet refuge in a noisy world.\n\nThanks to shrimqy’s work, I didn’t have to start from scratch.  \nI just had to find the path.\n\nBecause of that, Rose exists — simple, fast, honest.  \nA reader for people who still believe less can be everything.\n\nI hope someone else picks up where I leave off.  \nMaybe you’ll find the same peace I did.\n\nMaybe you’ll build something even better.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalcolmreed-ent%2Frose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmalcolmreed-ent%2Frose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalcolmreed-ent%2Frose/lists"}