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.