Browsers are good at showing you a page and bad at remembering it. Read a book online, close the tab, and a week later you are scrolling to find your place and wondering what you highlighted. ARN.IO is a small attempt to fix that.
It is a digital library and reading companion. You browse a collection, read chapter by chapter in the browser, and the app keeps track of where you are, so picking a book back up does not start with hunting for your place.
What it does
- A curated library you can search by title, author, or genre.
- Reading in the browser, one chapter at a time.
- Progress per book, with the current chapter and a percentage, plus reading streaks that count minutes and pages.
- Notes attached to a specific book and chapter, so the note lives next to the thing it is about instead of in a separate app.
- Upload your own documents. PDF, Word, TXT, Markdown, HTML, and RTF are accepted and split into chapters automatically.
- An AI reading assistant you can ask about themes, characters, summaries, or what to read next.
About the AI part, honestly
The assistant works out of the box. It ships with built-in keyword matched responses, so there is no API key to paste and nothing to pay for, and it still answers the common questions about a book. That was deliberate. I wanted someone to clone the repo, run it, and have the assistant actually reply instead of showing a configuration error. The chat is per book and the history is kept, so if you want to wire it to a real model later the interface is already there.
How it is put together
It is split into a client and a server. There is a run.sh at the root if you want to start everything at once.
chmod +x run.sh
./run.sh
There is also a docker-compose.yml with separate Dockerfiles for the client and the server, if you would rather not install anything locally.
Notes on the upload
Splitting a document into chapters across six formats is the fiddliest part of the feature. A PDF and a Markdown file do not agree on what a chapter even is, so the splitting is a best effort and you can always fix it by hand afterwards.
What it is not
There is no feed, no recommendations pushing you toward the next purchase, and no social layer. It is a reading tool, and it tries to stay out of the way.
Try it
Repo: https://github.com/mukuvi/ARN.IO
It is JavaScript end to end and it runs locally in a couple of commands. If you read and you lose track like I do, or you just want a small project to poke at the document parsing, the issues are open.
Also on DEV: if you are trying to make your first open source contribution, I wrote about a repo where contributing means adding yourself to it.
Top comments (0)