Inspiration We love reading but forget most of what we read. We wanted an AI companion that makes reading active — asking questions, surfacing connections, and helping ideas stick.

What it does Kyu lets you upload EPUBs, read them in-app, highlight passages, and chat with AI about the book. It generates contextual insights, connects ideas across chapters, and saves your annotations — turning passive reading into an interactive experience.

How we built it Next.js 16 + React 19 frontend, PostgreSQL with Drizzle ORM and pgvector for semantic search, Supabase for auth, Claude API for intelligent Q&A, and Tavily for web research that connects book ideas to the real world.

Challenges we ran into EPUB parsing is messy — inconsistent formats, encoding issues, and mapping highlights back to exact locations using CFI. Getting AI responses to stay grounded in actual book content without hallucinating was another big hurdle.

Accomplishments that we're proud of The "Explore" mode that automatically researches real-world connections to what you're reading — counter-arguments, recent developments, and concept bridges — feels magical. The reading experience is seamless.

What we learned How powerful vector embeddings are for contextual retrieval, the complexity of the EPUB spec, and that the best AI features feel invisible — they enhance the experience without getting in the way.

What's next for Kyu Knowledge graphs across books (Neo4j is wired up), social reading with shared annotations, spaced repetition for key takeaways, and mobile support.

Built With

  • nextjs
Share this project:

Updates