Overview
Campbooks is a source-available, AI-native email client for young professionals and small businesses drowning in email and paperwork. It reads your inbox and the documents that arrive with it, uses AI to file and surface what matters, and gives you a calm review-and-approval workflow — reimagined so it feels nothing like the email you're used to.
What Campbooks does
- Connects your mailbox — Zoho Mail, Google Workspace (Gmail), or Microsoft 365 via OAuth
- Triages your inbox — AI categorizes, prioritizes, and summarizes so the important things rise to the top
- Turns attachments into documents — classifies invoices, contracts, receipts, statements and more, and extracts their key fields
- Gives you a review workflow — every document is reviewed, approved, or rejected by a human; the AI just does the filing
- Syncs your calendar — two-way Google/Zoho calendar sync rides the same mailbox grant, and emails can become events
- Automates the busywork — workflows fire on incoming email or webhooks to send mail, call APIs, post to Slack/Discord, or export
- Exports to your tools — Google Drive, Zoho WorkDrive, and Notion
- Answers questions — Scout, the built-in AI assistant, surfaces what needs your attention and drafts replies
How it works
- Connect an email account via OAuth. Campbooks scans your inbox and keeps it in sync.
- AI triages each message — categorizing, prioritizing, and summarizing it — and classifies any attachments into document types, extracting fields like vendor, amount, and date.
- Everything lands in one place — a home feed, an inbox, and a documents area, each with clear statuses and action items.
- You stay in control — review and approve documents, reply and organize email, confirm calendar events, and let workflows handle the repetitive parts.
AI is optional. Campbooks runs fully without any AI keys — triage, the Scout assistant, draft replies, document analysis, and semantic search simply light up once you add a provider key. See AI Configuration.
Architecture
Campbooks is a single Ruby on Rails 8.1 application. The stack is deliberately small — one database does almost everything, and there's no Node build step or Redis to run.
| Layer | What it uses |
|---|---|
| Web server | Puma, fronted by Thruster for HTTP caching, compression, and X-Sendfile |
| Database | PostgreSQL with the pgvector extension (vector embeddings for semantic search) |
| Background jobs | Solid Queue — email scanning, AI processing, indexing, calendar sync (database-backed, no Redis) |
| Cache & WebSockets | Solid Cache and Solid Cable — also Postgres-backed |
| Frontend | Hotwire (Turbo + Stimulus) over import maps — no Node/bundler; Tailwind CSS 4 via the standalone binary |
| UI components | Phlex view components |
| File storage | Active Storage on local disk by default, or any S3-compatible object store |
| AI | Pluggable providers — Anthropic (Claude), OpenAI, Mistral, DeepSeek, Gemini — with pgvector/neighbor for semantic search |
| Public API | OAuth 2.0 (client credentials) via Doorkeeper |
| Search | Postgres + pgvector everywhere; OpenSearch is optional and only powers contact autocomplete |
The whole thing ships as a three-container Docker Compose stack (Postgres + web + worker). See Deployment.
Next steps
- Install Campbooks — Docker in a few minutes
- Deploy to production behind a TLS proxy
- Connect an email account
- Configure AI services