Open-source webmail client for MailKite — built with Next.js 15, shadcn/ui, and Tailwind v4.
Deploys to webmail.mailkite.dev on Cloudflare Workers via OpenNext.
This app has no backend. MailKite is the backend — all mail, read/unread, and tags live in the MailKite API, not here. Read
docs/webmail/architecture.mdbefore adding anything that needs to persist.
- Three-panel layout — sidebar, inbox list, message detail (resizable)
- Chat-style threading — messages displayed as conversation bubbles
- OAuth login — Google and GitHub sign-in via MailKite API
- Inline reply — compose replies without leaving the thread
- Dark-first — designed for dark mode with light theme support
- Mobile responsive — drawer overlay for detail view on small screens
| Layer | Tech |
|---|---|
| Framework | Next.js 15 (App Router) |
| UI | shadcn/ui + Tailwind v4 |
| State | Zustand |
| Deploy | Cloudflare Workers (OpenNext) |
| API | MailKite API (api.mailkite.dev) |
npm install
npm run devOpen http://localhost:3000.
Copy .env.example to .env.local:
cp .env.example .env.localRequired:
NEXT_PUBLIC_API_URL— MailKite API base URLNEXT_PUBLIC_GOOGLE_CLIENT_ID— Google OAuth client IDNEXT_PUBLIC_GITHUB_CLIENT_ID— GitHub OAuth client ID
npm run deployRequires Cloudflare account with Workers paid plan and wrangler configured.