How ishurana001/vox-tome-ai works
Vox Tome AI turns uploaded PDFs into a searchable book library and live voice conversations grounded in book content. The main journey is upload, library discovery, book selection, contextual search during a Vapi conversation, and session-limit tracking under tiered subscriptions. The README also describes intelligent PDF parsing, but the sampled code does not expose its implementation path, so it is not drawn as a separate component. Several page and book-action implementations were not sampled; their uncertain wiring is omitted.
Main entry points: route.ts Upload authorization · useVapi.ts Voice session hook · session.actions.ts Session actions · page.tsx Book library
Components 21
Reader experience
- Book library
app/(root)/page.tsx - Library search
components/Search.tsx - Book workspace
app/books/[slug]/page.tsx - Plan page
app/(root)/subscriptions/page.tsx
Book ingestion
- Upload form
app/(root)/books/new/page.tsx - Upload authorization
app/api/upload/route.ts
Voice conversation
- Voice session hook
hooks/useVapi.ts - Voice controls
components/VapiControls.tsx - Conversation transcript
components/Transcript.tsx - Book search tool
app/api/vapi/search-book/route.ts
Domain services
- Book actions
lib/actions/book.actions.ts - Session actions
lib/actions/session.actions.ts - Plan limits
hooks/useSubscription.ts - Voice sessions
database/models/voice-session.model.ts - Book segments
database/models/book-segment.model.ts - Books
database/models/book.model.ts
Other components
- Reader
- Vercel Blob
- Vapi AI
- Clerk identity
- MongoDB
Connections 19
- Reader → Book library: browses
- Reader → Upload form: uploads
- Reader → Book workspace: opens
- Reader → Plan page: manages plan
- Book library → Library search: offers search
- Upload form → Upload authorization: requests upload
- Upload authorization → Clerk identity: checks identity
- Upload authorization → Vercel Blob: authorizes upload
- Voice controls → Voice session hook: controls
- Voice session hook → Vapi AI: starts call
- Vapi AI → Book search tool: calls tool
- Book search tool → Book actions: searches segments
- Book actions → Book segments: queries
- Voice session hook → Session actions: tracks session
- Session actions → Plan limits: checks limits
- Session actions → Voice sessions: creates and updates
- Voice sessions → MongoDB: persists
- Book segments → MongoDB: persists
- Books → MongoDB: persists