Hello, boundless.moe

Boundless is a client-side reader for manga, manhwa, and light novels on iPhone, iPad, Mac, and Android, and this site is its new home for docs and release notes.

Update, September 4, 2026. Boundless v2.15.0 is a complete rewrite on React Native, and it is on the App Store now. The two paragraphs below that named the old stack and said it wasn't shipping have been corrected. The design decisions further down, no bundled content, optional accounts, your own source repositories, are all still true.

For a long time Boundless was a repo and a build on my own devices, and almost everything I knew about it lived in commit messages. Which is a terrible place to keep a project's memory. So: a website.

What Boundless is

A reader for manga, manhwa, and light novels, running on iPhone, iPad, Mac, and Android. One React Native codebase across all of them, iOS 17 and up.

It has to handle two completely different kinds of reading, so it has two readers. Comics get paged and long-strip modes, with zoom, tap navigation, auto-scroll, and settings you can set per title. Novels get a prose reader instead: typography controls, a chapter title card sitting inside the content, and a thin progress hairline where a page counter would normally go.

Around those sit the ordinary things. A library with genre filters and your own tags. Search, history, downloads for offline reading, backup and restore.

What it deliberately doesn't do

Worth spelling out, because these are design decisions and not gaps I'm planning to close later.

  • It ships with no content of its own. No bundled catalog, no seeded source. There was a leftover fixture file that Xcode kept copying into the app bundle long after anything stopped loading it, and pulling that out was one of the first fixes in the project's history.
  • An account is optional. Nothing in the reader sits behind a sign-in. An account exists if you want your data saved and your privacy settings and parental controls in one place. Never making one is a completely reasonable way to use this app.
  • Signed out, it's all on your device. Library, progress, history, downloads, preferences. Backups are files you hold.
  • You pick the source repository. Sources are JavaScript extensions, installed by you, from a URL you choose.

There's a useful side effect to all that, which is that if I vanish tomorrow your library doesn't go with me.

What's on this site

Three things, and they'll grow as the app does.

Documentation. How the library, the readers, downloads, backups, and parental controls actually work. Written from the code rather than from memory, which matters more than it sounds like it should. It's at /docs.

A guide to building extensions. Sources run in JavaScriptCore, which is not a browser, so extensions hit real edges. Missing browser globals are the classic one. The failure mode is nasty too: a source that throws on its first query string doesn't announce itself, it just shows up in the app as an empty Browse tab. The guide covers what the runtime gives you, what it doesn't, and how to actually test a source instead of trusting a 200.

Release notes. What changed, and where it broke first. I'd rather write up the bug that made a button unreachable than a paragraph of adjectives about polish, so the mistakes are in there.

Where things stand

Boundless is on the App Store for iPhone and iPad, and runs on an Apple Silicon Mac as the iPad app. Android is a direct download while it works toward the Play Store. Both are on /download.

Four release posts are already up: iPad and Mac support, the Android beta, the reader redesign, and the theming work underneath all of it. Start wherever.