SvelteReader¶
A nostr-native ebook reader with AI-powered annotations and ecash micropayments.
What is SvelteReader?¶
SvelteReader is a proof-of-concept web application that demonstrates:
- Nostr Authentication — Login with your Nostr identity (npub)
- Client-Side Storage — All data stored in your browser, you own your data
- eCash Payments — Pay-per-use AI features with Cashu ecash tokens
- Decentralized Sync — Sync annotations across devices via Nostr relays
Quick Links¶
| Document | Description |
|---|---|
| Setup Guide | Get SvelteReader running locally |
| Features | Complete feature list with status |
| Architecture | System design and data flow |
| Design Decisions | FAQ on why things are built this way |
| Refactoring Guide | Areas needing improvement |
Technical Deep Dives¶
| Document | Description |
|---|---|
| Agent RAG Architecture | Agent-driven book retrieval with client-side tools |
| AI Chat Integration | LangGraph agent setup and API |
| Ecash Payment Flow | Validate-then-redeem payment design |
| Annotation Sync | Nostr-based annotation sync protocol |
| Book Sync | Book announcements and ghost books |
| Spectating | Browse other users' libraries |
Additional Resources¶
| Document | Description |
|---|---|
| Testing | Running unit and E2E tests |
| Deployment | Static hosting and configuration |
| Chat Refactor | Planned chat UI improvements |
| Roadmap | Future development priorities |
Project Status¶
SvelteReader is a proof-of-concept. Core reading and annotation features work well. Some features (Nostr sync, multi-device) are partially implemented.
See Refactoring Guide for known issues and improvement areas.
Tech Stack¶
| Layer | Technology |
|---|---|
| Frontend | SvelteKit 2 + Svelte 5, TailwindCSS 4 |
| EPUB | epub.js |
| Auth/Wallet | CypherTap (Nostr + Cashu) |
| Backend | FastAPI (Python 3.12+) |
| AI Agent | LangGraph + LangChain |
| Testing | Vitest + Playwright |
Getting Started¶
# Clone with CypherTap submodule
git clone --recursive https://github.com/yourorg/SvelteReader.git
cd SvelteReader
# Start frontend (reader features only)
cd frontend
pnpm install
pnpm dev
Open http://localhost:5173 and import an EPUB to start reading.
For AI features, see the full Setup Guide.
License¶
MIT