v0.3 · open source

Every passage you've marked.
One quiet place.

KOCloudBridge syncs highlights, vocabulary lookups, and reading sessions from your KOReader devices into a personal archive you actually want to revisit. Self-hosted. Your data, your server.

Start syncing →View on GitHub
Works with
Kobo
Kindle (KOReader)
PocketBook
Boox
reMarkable
Moby-Dick
Melville
Moby-DickChapter 1: Loomings
Whenever I find myself growing grim about the mouth; whenever it is a damp, drizzly November in my soul…
p.1synced from kobo_libra · 2 days ago
Looked up
monomania
exaggerated preoccupation with one thing
14,800+
highlights synced
2,300+
vocab lookups
11 day
avg streak
6 min
time to set up
What it does

Four things, done quietly.

01
Highlights, instantly searchable
Every passage you mark is captured with chapter, page, and your notes — then made full-text searchable across your whole library.
Moby-D
Moby-Dick · Chapter 1
Whenever I find myself growing grim about the mouth; whenever it is a damp, drizzly November in my soul…
Karama
The Brothers Karamazov · Book I
Above all, don't lie to yourself. The man who lies to himself and listens to his own lie comes to a point…
02
Vocabulary in context
Dictionary lookups sync over with the sentence around them, so you can revisit a word in its setting — not as a flashcard ripped from the page.
ennui/ɒnˈwiː/
a feeling of listlessness and dissatisfaction arising from a lack of occupation or excitement.
…through which he could realize his conception of the beautiful. The ennui of polite society was unbearable to him.
03
Reading you can see
A calm calendar of time read, pages per session, streaks, and what you finished this year — without the dopamine-loop dashboards.
11day streak
6.4h this week
04
Your data, your server
A single container. Bring your own database. Tokens you can revoke. Markdown, JSON, and CSV export at any time. MIT licensed.
# in KOReader → Plugins → KOCloudBridge:
server_url = "https://reader.your-domain.com"
auth_token = "kcb_live_8f3a92c4…"
$ kcb sync
✓ uploaded 14 highlights
✓ uploaded 3 vocab
✓ sync complete · 0.4s
How it works

Four steps. About six minutes.

01
Spin up the server
docker compose up. SQLite for solo readers, Postgres if you want to scale.
02
Generate a token
One token per device, scoped permissions, revocable any time from your account.
03
Point KOReader at it
Install the plugin. Paste your token. Sync runs in the background.
04
Read on
New highlights, words, and sessions appear here within seconds of closing your book.
"I've been reading on a Kobo for nine years. I finally have somewhere my highlights live that isn't a forgotten .txt file in a sync folder."
JR
Jared R.
self-hosting since v0.1
Questions

The usual ones.

Is it really self-hosted only?
Yes, by design. A hosted option may come later, but the core repo will always run on your hardware. Your highlights are not training data.
Which devices work?
Anything that runs KOReader: Kobo, Kindle (via firmware), PocketBook, Boox, reMarkable, Android. An iOS reader app is coming.
What about Kindle native?
If you can get the My Clippings.txt off the device, there's a Markdown importer. KOReader on Kindle is the smoother path.
Open source?
MIT licensed. Cloudflare Workers backend, lightweight Hono SSR frontend. Issues and PRs welcome.

Your library, finally one place.

Free, open source, self-hosted. Set up in six minutes.

Start syncing →Read the docs