Screenshots
See Courier in Action
Inbox — Unified inbox with thread grouping, read/unread state, starred messages, and labels
Features
Your Email, Your Database
A full-stack email proxy and client. Courier sits between you and your providers — the frontend never touches Gmail, Fastmail, or Exchange directly. All mail lives in your own database with full-text search, smart folders, and a rules engine that actually works.
Architecture
Proxy-First Email
Proxy Architecture
The backend fetches and sends through Gmail, Fastmail, Exchange, and generic IMAP/SMTP. The frontend communicates exclusively with the Courier API — never directly with provider APIs.
Durable Storage
All email stored in PostgreSQL with full-text search. The last 1,000 messages per account are hot-cached in Redis for instant retrieval. Attachments persisted to S3.
Real-Time Updates
WebSocket push for new mail, read status changes, and folder updates. No polling, no manual refresh. Your inbox stays current automatically.
Smart Folders
Saved searches that behave like folders. Define criteria once and Courier keeps the folder populated automatically. Combine sender, subject, date, labels, and full-text queries.
Composition & Automation
Write Smarter, Send Smarter
Markdown Composition
Write emails in Markdown. Courier transforms them to clean HTML on send. No wrestling with rich-text editors — just write naturally and let the formatting happen.
Rules Engine
Filtering, automation, spam detection, and LLM-powered classification. Route mail to folders, apply labels, auto-archive, or flag for review based on flexible rule sets.
Smart Timing
Snooze messages to resurface later. Schedule sends for the right moment. Undo send with a configurable delay window. Control when email demands your attention.
Accessibility
Built for Everyone
WCAG 2.1 AA Compliance
4.5:1 contrast for body text, 3:1 for large text and UI components, in both light and dark themes.
Keyboard Navigation
Every interaction reachable via keyboard. Logical tab order, visible focus indicators, Escape-to-dismiss for modals.
Screen Reader Support
VoiceOver, NVDA, and JAWS tested. Semantic HTML, ARIA labels, live regions for dynamic updates.
Reduced Motion
Respects prefers-reduced-motion. Usable at 200% zoom. Touch targets meet 44x44 minimum.
How It Works
From Provider to Inbox
Connect
Link Gmail, Fastmail, Exchange, or any IMAP account. Courier authenticates via OAuth or app-specific passwords and stores credentials securely.
Sync
Courier fetches and indexes all mail into its own database. Full-text search indexes build automatically. Recent messages are cached in Redis for instant access.
Read & Write
A fast, clean interface with Markdown composition and smart folders. All interactions go through the Courier API — the frontend never touches provider APIs directly.
Automate
The rules engine classifies, filters, and routes mail automatically. LLM-powered classification handles the edge cases that simple pattern matching misses.
Technical Specifications
Under the Hood
Backend
- FastAPI (Python 3.12+)
- SQLAlchemy + Alembic
- PostgreSQL (shared RDS)
- Celery workers + Redis broker
Frontend
- React 19 + TypeScript
- Vite build system
- Geist font
- Light and dark mode
Real-Time
- WebSocket for live updates
- New mail push notifications
- Read status sync
- Folder change broadcasts
Storage
- PostgreSQL full-text search
- Redis/Valkey hot cache (1,000 msgs/account)
- S3 for attachments
- Markdown-to-HTML transformation
Development
100% Built by Claude
Courier was built entirely by Claude (Anthropic) working alongside a single human supervisor. Every line of code, every test, every deployment: AI-authored with human direction.