>
Software

KOReader plus an LLM turned my old Kindle into my favorite reader

I have a Kindle 4 that was obsolete when the Obama administration was still young. The battery is shot, the bezels are thick, and it does not have a touchscreen. I have jailbroken it anyway, because jailbroken e-ink hardware (the paper-like display technology used in e-readers, which only uses power when the pixels change) is the kind of toy I cannot resist. I have already used it as a slow-refresh second monitor, a Pocket-style article reader, and a Home Assistant dashboard. When I read that someone had bolted a large language model (a machine-learning model trained on huge amounts of text that can answer questions, summarise passages, and produce human-readable prose) onto KOReader, the open-source document viewer that runs on jailbroken Kindles, I expected a gimmick. A week later, the LLM plugin is still installed and I am using it more than I ever expected. Here is what changed and what it actually cost me.

The reason this matters is that the Kindle is the most distraction-free device I own. There is no notification stream, no app grid, no browser I can accidentally open. Reading on it is the only time my attention behaves like an adult. Adding an LLM to it felt like adding a slot machine to a library. The result, in practice, is closer to having a very patient tutor sitting next to me while I read.

What KOReader is and why it makes the difference

KOReader is a community-maintained document viewer that runs on jailbroken Kindles, Kobos, PocketBooks, and a handful of other e-readers. It replaces Amazon’s stock reading software with something that handles more file formats, exposes far more configuration, and ships a plugin system that is the real reason we are talking about it here.

The plugin catalog includes readers, dictionaries, translators, sync helpers, and now a small but growing set of AI plugins. The one I use is called Assistant. It is a thin client that ships prompts (the instructions you send to a language model along with your question) to a language model server, gets text back, and renders the result inside the reader. The Kindle itself does not run the model. It just sends the highlighted passage or your typed question over the network and waits. That detail is what makes this workable on a ten-year-old device with no touchscreen.

Installing the plugin without breaking anything

The install is the part that used to scare me. It is, in fact, three steps:

  1. Download the Assistant plugin tarball from the KOReader plugin repository
  2. Unzip it into the koreader/plugins/ directory on the Kindle over USB
  3. Edit the plugin’s configuration file to point at a language model endpoint

The third step is the only one that needs thought. The plugin supports OpenAI, Anthropic, Google Gemini, DeepSeek, Groq, NVIDIA endpoints, OpenRouter, and Ollama, which is a program that runs open-source language models on your own hardware. I went with Ollama because I already had a box running it, and because I am uncomfortable sending every highlighted phrase from a novel to a third-party API.

Configuring Ollama means pointing the plugin at the URL of my Ollama instance (typically http://your-server:11434) and naming a model. I used a small model first to see if the workflow held together, then graduated to a bigger one when I was sure I would keep it. The Kindle never has to render anything heavier than the response text, so the model choice lives on the server, not the device.

What you can actually do with it

The plugin attaches itself to the highlight menu in KOReader. When you select a word or phrase and tap the menu, you see two new entries alongside the usual dictionary and vocabulary options: Wikipedia AI and Dictionary AI. Both ask the model for context on the word you tapped. Dictionary AI in particular is useful when the built-in dictionary does not have the term you are reading, which happens more often than you would think with technical books.

The more powerful use is highlighting a whole phrase or sentence. That opens a separate AI Assistant panel with a row of preset actions:

  • Dictionary for single words
  • Vocabulary for definitions phrased for memorisation
  • Grammar to explain why a sentence parses the way it does
  • Summarize to compress a long passage into a paragraph
  • Simplify to rewrite a sentence in plainer English
  • Key Points to extract the load-bearing claims from a paragraph
  • Historical Context to situate a reference the author assumes you know
  • ELI5 to explain an idea like you are five years old

ELI5 alone is worth the install. I have been reading a history of early modern cryptography (the study of codes and ciphers, predating modern computers) and the author keeps referencing mathematicians I have never heard of. One tap on the ELI5 preset and I get a one-sentence summary of who that person was and why they matter. The Kindle has become a smarter book, not a dumber phone.

Why this is better on a Kindle than on a phone

The honest case against doing this is: why not just open ChatGPT on your phone? I have a phone. I have the ChatGPT app. The Kindle should not need to compete with that.

Two reasons it works anyway. First, the Kindle has no notifications, no other apps, no browser tab pulling me somewhere else. The friction of switching to the phone is enough that I never do it for a five-second question. With the plugin on the Kindle, the answer is one tap away and I am still reading when it arrives. Second, the LLM is local. None of my highlights are leaving my network. That matters to me more than I expected.

For language learning in particular, the workflow is hard to beat. I am reading Harry Potter in Italian, which is a great way to pick up the language because I already know the plot. The built-in KOReader translator gives me word-for-word glosses (definitions of words or short phrases), which is fine for vocabulary but useless for idioms. When I highlight “out of sight, out of mind,” the literal translator turns it into nonsense. The LLM infers the meaning and gives me back a sentence I can actually use. That is the moment the gimmick became essential.

The cost of running it on your own hardware

The Ollama box I am using is a refurbished mini-PC (a small form-factor desktop, roughly the size of a paperback book) with a modest GPU. A 7-billion-parameter model runs comfortably on it. A 13-billion-parameter model runs at the edge of what is pleasant. A 70-billion-parameter model is not happening on this hardware. If you want the bigger models, you will need either a beefier GPU or to pay for a hosted API.

For the kind of question-answering this plugin does, the small models are good enough. They are not as clever as the hosted frontier models (the most capable publicly available systems, currently from companies like OpenAI and Anthropic), but they do not need to be. They need to be patient, locally available, and willing to answer the same kind of question three times in a row without complaint.

Trade-offs

This setup is not for everyone. Here is what I would want you to know before you start:

  • The plugin only runs on jailbroken Kindles. If your Kindle is on stock firmware (the factory-installed operating system, with no modifications), the plugin cannot install. Jailbreaking older Kindles is well-documented and largely reversible, but it does void the warranty on a device that may already be out of warranty.
  • Older Kindles are slow. The Kindle 4 has a single-core ARM processor from 2010. Opening the AI Assistant panel takes a few seconds. The actual model run happens on your server, but the round trip is visible. Newer jailbroken Kindles are faster, but not phone-fast.
  • The plugin depends on your server being up. If your Ollama box reboots, your highlights stop getting answers. Set up Ollama with systemd (the Linux service manager) so it restarts on its own.
  • Small models make confident mistakes. A 7B model will happily invent citations, paraphrase a passage in a way that changes its meaning, and confidently answer questions it has no business answering. Treat the output as a starting point, not a source.
  • Privacy is local but not absolute. The plugin does not phone home, but your Kindle still uses Wi-Fi. If you are reading something you genuinely cannot have on a network, take the Kindle offline.

For my reading habits, none of those are dealbreakers. The plugin lives on the Kindle, the Ollama server lives in a closet, and my highlights never touch a third party. That is the trade I wanted.

What I would tell past me

If you are about to try this, here is the order that wastes the least time:

  • Confirm your Kindle is on the jailbreak compatibility list. The Kindle 4, Paperwhite 2 and 3, and Voyage all have well-trodden paths. Newer Kindles are a coin flip.
  • Install KOReader first and live with it for a week before adding the LLM plugin. You want to know the reader is stable on your device before you add a network dependency.
  • Start with Ollama on a box you already own. Do not buy new hardware for this until you know the workflow is for you.
  • Pick a small model first. A 7B model is plenty for vocabulary, translation, and ELI5. Upgrade only when you find a use case the small one cannot handle.
  • Read with Wi-Fi turned off until you trust the plugin. You can flip Wi-Fi on for the AI request and off again afterward, which is what I do when I am on a network I do not control.
  • Use the preset actions before typing free-form questions. Typing on a Kindle without a touchscreen is exactly as fun as it sounds. The presets exist because someone had to type “Explain Like I’m 5” one too many times.

A week in, my old Kindle is the device I reach for first when I sit down to read. That has not been true in years. If you have a jailbroken e-reader collecting dust and a server with a GPU gathering dust beside it, the two are made for each other.

Leave a comment