BookWith is an AI-powered ePub reader.
It helps you read with:
- AI chat based on the current page
- highlights and notes
- memory across past conversations
- semantic search across reading history
- AI Reading Assistant: Ask questions while reading and get context-aware answers.
- Smart Annotation: Highlight text, add notes, and reuse them in AI chat.
- Memory System: Keeps short-term and long-term context for continuity.
- Semantic Search: Find related ideas across books, notes, and chats.
- AI Podcast Generation: Convert book content into audio summaries.
-
Install dependencies from the repo root:
pnpm i
-
Set up API environment:
cd apps/api cp src/config/.env.example src/config/.env -
Start required Docker services:
make docker.up
-
Run backend API:
make configure make run
-
In another terminal, run frontend:
cd apps/reader pnpm dev
From repo root:
pnpm dev
pnpm build
pnpm lintAPI:
cd apps/api
make run
make lintReader:
cd apps/reader
pnpm dev
pnpm ts:check- Backend: FastAPI, SQLAlchemy, Pydantic, Weaviate, LangChain
- Frontend: Next.js, TypeScript, Tailwind CSS, SWR, ePub.js
- Monorepo: Turbo + pnpm workspaces