Portfolio
leest.io — AI Reading Companion
Consumer AI / Reading Technology
500+
active readers
10k+
books tracked in library
∞
AI-generated flashcards
Overview
leest.io is an AI reading companion built in Go to solve a genuine personal problem: reading 30+ books a year but retaining too little. The app transforms passive reading into active learning by converting highlights and notes into spaced repetition flashcards, generating chapter summaries, and tracking reading patterns. Built with Go backend, React frontend, and AI integration for content processing — and kept intentionally simple so it stays fast and maintainable solo.
Business Context
Built leest.io as a personal project after failing to find a tool that turned reading into lasting knowledge. Tried Readwise, Anki, Roam Research, and various note-taking apps — none solved the core problem: automatically converting what you highlight into something that makes it stick. Decided to build the tool I wished existed, using the same Go and AI stack I use professionally.
Challenge
Readers lose 90% of what they read within a week. Existing tools (Goodreads, Kindle notes, Readwise) are passive archives — they collect highlights but don't actively drive retention or insight extraction.
- Readers highlight passages but rarely review them — highlights become a graveyard of good intentions and forgotten insights
- Existing tools require too much manual effort: building flashcards in Anki from highlights is tedious enough that most people never do it
- LLM-generated summaries risk being generic — needed domain-aware prompting to handle non-fiction, technical books, and fiction differently, grounded in actual reader highlights not just book titles
Solution
Built a Go backend with clean REST API, React frontend for the reading experience, and an AI pipeline for content processing. The core innovation is context-aware flashcard generation that adapts to book genre and grounds summaries in the reader's own highlighted passages — making output personal and accurate, not generic.
- AI-generated spaced repetition flashcards from book highlights and personal notes
- Context-aware chapter summaries and key insight extraction via Claude API
- Anki export integration and daily reading streak tracking for habit formation
Approach & Methodology
Started with the smallest possible MVP: manual highlight import plus basic flashcard generation, no AI. Iterated based on personal use for 3 months before opening early access. Every feature decision came from one question: does this actually help me remember what I read? Features that looked impressive but didn't change retention behavior were cut.
Implementation Details
Context-Aware Flashcard Generation
Flashcard generator adapts to book type: technical books get code-focused Q&A cards, non-fiction gets concept-definition pairs, fiction gets character and plot cards. The system uses the reader's own highlights and notes as context for generation — Claude only synthesizes content the reader has actually engaged with, eliminating hallucination risk.
Go Backend with Minimal Architecture
Go was chosen for simplicity, performance, and low operational overhead: single binary deployment, sub-10ms API responses, and easy reasoning about concurrency for parallel AI API calls. Clean REST API with hexagonal architecture, PostgreSQL for persistence, Redis for sessions. The entire backend fits in one developer's head.
AI Insights Pipeline
Async pipeline for processing book content: chapter summaries, key insight extraction, and reading pattern analysis. Used Claude API with prompt engineering specifically designed to ground outputs in user highlights — not in the model's training data about the book. Anki-compatible deck export lets power users integrate with their existing spaced repetition workflow.
Key Decisions
- Go over Node.js — single binary deployment, better performance for concurrent AI API calls, and deep Go expertise. The simplicity of Go matches the simplicity goal of the product.
- Claude API over OpenAI — better instruction following for structured flashcard output and more predictable JSON extraction from highlight context. Haiku for high-volume generation, Sonnet for complex summaries.
- Self-hosted PostgreSQL rather than managed database — lower cost at early stage, full control over schema evolution, and valuable infrastructure experience for future projects.
Tech Stack
Related Services
The following services were utilized in this project to deliver successful outcomes.
Lessons Learned
- Spaced repetition is compelling in theory but requires habit formation — the most impactful feature turned out to be daily reading streak tracking, not the AI features
- AI hallucination risk for book summaries is real — grounding the model strictly in user highlights (not book title + author) was the critical design decision for accuracy
- Anki export was the most-requested feature by power users — integrating with existing, proven workflows beats building new ones from scratch
Project Information
Timeline
4 months to MVP, ongoing
Team
Solo project
Results
500+
active readers
10k+
books tracked in library
∞
AI-generated flashcards
Have a Similar Challenge?
Let's discuss how I can help your project succeed with proven architecture and AI solutions.