PlainText.ink

Sovereign reading & writing — e‑Ink‑first.

Local‑first. Offline‑ready. Paperwork‑minimal. Works great on 480×800 portrait and 800×480 landscape.

Mission: Empower everyday readers and writers with an offline, local-first e-Ink toolkit that keeps control, privacy, and simplicity first.

Sample mode finishes with minimal tokens and still produces a valid EPUB.

Inspiration

Billions remain unseen by today’s tech — 2.6 billion fully offline as of 2024, with many more urban poor who possess devices but cannot use them for education or civic services. In cities, paperwork stalls access; in rural regions, textbooks are few or nonexistent. PlainText.ink was conceived to bridge both divides — restoring clarity, connection, and learning to the 4 billion people left behind.

(ITU Facts & Figures 2024)

What it does

PlainText.ink is a $10 offline e-ink omnibook tablet powered by open Gemma4 models. It works entirely offline and offers:

  • Letter Explainer: Converts official letters into a concise TL;DR plus “next steps” checklist.
  • Form Helper: Guided Q&A flow that auto-fills PDFs and produces review notes.
  • Textbook Builder: Overnight generation of custom textbooks by grade, topic, and language.
  • Multilingual support: Gemma4 is trained on multilingual data; it supports multiple languages out of the box and can be adapted to local ones.

Alignment with UN Sustainable Development Goals (SDGs):

  • SDG 4 — Quality Education: Delivers offline, multilingual educational content to underserved populations.
  • SDG 1 — No Poverty: Empowers users with literacy, form assistance, and access to vital services.
  • SDG 10 — Reduced Inequalities: Affordable and accessible design directly combats educational and digital inequality.
  • SDG 17 — Partnerships for the Goals: Scaling will involve partnerships with NGOs, governments, and local organizations.

Features

Textbook Builder

Generate EPUBs by grade, language, and topic. Pick Sample (fast) or Full (multi‑chapter).

Form Helper

Fill PDFs from simple YAML schemas. Auto‑fill with your local model; review and export.

Letter Explainer

Summarize letters and generate checklists. Offline‑ready, privacy‑first.

How it works

Your browser opens a local app at http://127.0.0.1:8000. That app talks to your on‑device LLM runtime (e.g., Ollama) on localhost. No cloud calls.

Install & run locally (macOS)

Ollama example — replace model as desired.

brew install ollama
ollama serve
ollama run gemma4:e2b

Clone & run BookDook (this repo):

git clone https://github.com/yosun/bookdook.git
cd bookdook/BookDook
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
export PLAIN_BACKEND=ollama
./.venv/bin/python cli/serve_frontend.py

Open the app: http://127.0.0.1:8000/layout/page.html

CLI quickstart

./.venv/bin/python cli/build_textbook.py --grade 5 --lang en --topic "Fractions" --mode sample
./.venv/bin/python cli/build_textbook.py --grade 5 --lang en --topic "Fractions" --mode full

FAQ

Can the hosted site use my local LLM directly? Not reliably. Open the local app above; it talks to your model securely on localhost.