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 GPT-OSS 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: GPT-OSS is trained on multilingual data; it supports multiple languages out of the box and can be fine-tuned to local ones. (Codecademy on GPT-OSS multilingual capability)

Alignment with UN Sustainable Development Goals (SDGs)

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

How we built it

  • Demo backend: Ollama — fast for prototyping. Production backend: llama.cpp with GGUF quantization for resource-efficient deployment.
  • The system architecture allows swapping inference engines via environment variable. Core logic (Letter, Form, Textbook) is implemented in clean CLI tools plus a minimal desktop UI using PyQt6.
  • Uses open-source libraries for PDF/TXT parsing, schema-driven form filling, EPUB generation — all fully offline.

Built With

  • GPT-OSS (gpt-oss-20B / gpt-oss-120B) – open-weight models under Apache 2.0, optimized for reasoning and edge deployment. (OpenAI GPT-OSS release)
  • llama.cpp (GGML/GGUF) – lightweight C/C++ inference engine for efficient quantized LLMs on CPU/ARM hardware. (llama.cpp GitHub)
  • llama-cpp-python – Python bindings for llama.cpp; enabling easy integration in CLI/UI backends.
  • Ollama – Simplifies model download, runtime switching, local operations — ideal for rapid prototyping.
  • Python 3.x – Used for orchestration, CLI tools, backend logic.
  • PyQt6 – Building the minimal desktop interface with three feature tabs.
  • PDF Handlingpypdf, pdfrw, ReportLab for reading and filling documents.
  • EPUB Generationebooklib for building textbooks from outlines and content.
  • Environment Managementpython-dotenv for config and backend switching.
  • Safety & Testing – Maintains model card documentation, prompt safety checks, and unit/integration tests (e.g. schema validation).

Challenges we ran into

  • Squeezing multilingual reasoning into small, efficient models that can run on hardware-limited devices.
  • Designing safe prompt templates that simplify bureaucracy but avoid hallucination.
  • Maintaining strict offline functionality — no network calls allowed.
  • Crafting a UI intuitive for low-literacy users, yet resilient to multiple languages and file formats.

Accomplishments that we’re proud of

  • Fully working demos: Letter explained, Form filled, Textbook generated.
  • A backend abstraction that seamlessly swaps between Ollama (demo) and llama.cpp (production).
  • Early demonstration of multilingual understanding — sample outputs in Spanish, Hindi, etc.
  • A “plain, worthless-to-steal” design that restores agency and privacy.

What we learned

  • Multilingual AI support is non-negotiable in global impactful products. GPT-OSS opens that door.
  • Offline performance and robust prompt safety matter more than flashy features in under-resourced settings.
  • Even minimal prototypes make a strong case when they solve real, tangible problems (like form access or learning).

What’s next for PlainText.ink

  • Pilot deployments in urban service centers (e.g., San Francisco) and rural schools in South Asia / Sub-Saharan Africa.
  • Expand content packs with more languages, curriculum alignments, local official forms, and FAQs.
  • Build a hardware prototype: transition from laptop/demo to ultra-low-cost, rugged e-ink device.
  • Fine-tune GPT-OSS for local language nuances and form domains; measure impact through completion rates and user feedback.

Built With

  • epub
  • gguf
  • gpt-oss
  • huggingface
  • llama-cpp-python
  • llama.cpp
  • ollama
  • pdf
  • pyqt6
  • python
  • transformers
Share this project:

Updates