Skip to content
← Work

Mailbox

An AI-ready unified inbox for Gmail, Yahoo and any IMAP account, with an MCP server so ChatGPT can help with your mail.

Role
Independent developer
Year
2026
Context
WebWriterStudio · Independent product
Branch
Independent
Stack
React
Mailbox

The work

TypeScriptReactViteNode.jsFastifyPostgreSQLSQLiteDrizzle ORMpg-bossIMAP / SMTPGmail APIMCPOAuth 2.1

The problem

Most people run several mailboxes and switch tabs all day to keep up with them. AI assistants could help with that mail, but handing one your inbox usually means giving it far more access than it needs, with no way to see or revoke what it can do.

What I built

A TypeScript monorepo: a Fastify API with a server-sent event stream, a job worker on pg-boss, and a React 19 + Vite web app. Accounts connect over IMAP/SMTP (with a Yahoo preset and IMAP IDLE push) and the Gmail API, with initial and incremental sync, read, flag, move, trash, spam and Gmail-style search across every account. A composer with drafts, inline images, attachments, per-account signatures, undo send, scheduled send and snooze, plus contacts built from your conversations. The database is multi-tenant with row-level security on PostgreSQL, or a single SQLite file for one-process hosting. Account credentials are encrypted at rest, message HTML is sanitised and remote images stay blocked until allowed. The MCP server exposes mail tools — search, read, label, draft, send and schedule — behind OAuth 2.1 with PKCE, dynamic client registration, a consent screen and a Connected apps page to disconnect any assistant.

The stack behind this · Where it was built · Résumé

Next project

Tpa.udenz.co