About

TextStack is an open-source reader for developers who want to finish dense English technical books in their native language.

Tap any term — get a context-aware translation that knows the book's domain. Tap «attention» in an ML chapter and you get «увага (механізм у нейромережах)» in Ukrainian, not the everyday meaning. Words you save feed a capped weekly SRS queue with multiple-choice cards generated by a local Gemma 4 model running on a $20 VPS — no per-user cloud costs.

The Mission

Real understanding of a technical book comes from finishing it — not from skipping unfamiliar terms or summarizing it away. TextStack is built around that: keep the book in front of you, let the friction (vocabulary, terminology, domain) get out of the way.

Every feature — domain-aware translation, vocabulary builder, spaced repetition, reading stats — exists for one job: get you to the last page of the kind of book you usually quit halfway through.

Open Source

TextStack is licensed under GNU AGPL-3.0. The full codebase — .NET 10 backend, React frontend, React Native mobile app — lives at github.com/mrviduus/textstack. You can self-host the entire stack on a $20/month consumer VPS, no GPU required.

How It Works

Local Gemma 4 model (via Ollama) generates the multiple-choice distractors, vocabulary hints, and book metadata enrichment on your own server — no per-user cloud LLM costs. OpenAI's gpt-4.1-nano handles the translation layer where multilingual quality matters.

Stack: ASP.NET Core 10 · PostgreSQL 16 · React 19 · React Native (Expo) · Ollama (Gemma 4) · OpenAI gpt-4.1-nano · Docker · Cloudflare Tunnel

The Creator

Vasyl Vdovychenko

Vasyl Vdovychenko

I built TextStack because I quit Designing Data-Intensive Applications three times before this. Not because the book was hard — I understood most of what was on the page — but because forty unfamiliar terms broke my flow. Summarizing it away defeated the point. So I built the thing I wanted: tap a term, get the context, keep reading.

It's an open project I run because I needed it. AGPL-3.0, full codebase on GitHub. If you share the use case or want to contribute, I'd love to hear from you.