[verdict][curated prompt][source: getinboxzero.com]
Can I vibecode Inbox Zero?
// buildable in a weekend, but real gaps stay open
The personal Gmail loop is a weekend project: classify new mail, apply labels, draft replies, and surface bulk cleanup. The gap is making it trustworthy enough to sit inside a real inbox every day: OAuth setup and review, token refresh, provider quirks, continuous sync, retries, rate limits, security, and integrations. Inbox Zero itself is open source, so anyone wanting the full product should self-host the official code instead of rebuilding all of it.
confidence: high
what it is: AI email assistant that organizes inboxes, drafts replies, blocks cold email, and automates cleanup
Buildability index · an editorial game
- Price 20 $/month · per seat weight: plus 2
- Time weekend weight: plus 2
- Category email no weight
- Moat integrations · execution quality weight: minus 2
- Confidence high weight: plus 1
- What you lose 5 items weight: minus 2
- Site getinboxzero.com (si apre in una nuova scheda) no weight
They cancel out. This is where it comes down to how much the subscription annoys you.
Gioco editoriale: il verdetto dice se un agente può, l’indice se conviene.
What you build
Watch one Gmail inbox, classify and label new threads, create reply drafts for review, and group noisy senders for cleanup.
what you need
- Google Cloud OAuth client
- OpenAI API key
- Node 22
- always-on machine or VPS for continuous processing
Submitted by the maker. The full product is open source, so self-hosting it is the honest fastest DIY path; the prompt below scopes a ground-up weekend build.
The prompt
A weekend with a coding agent. The gaps that stay are right below, under “what you lose”.
Build me a self-hosted personal Gmail assistant that covers the core Inbox Zero loop.
Use Node 22 + TypeScript + Fastify + better-sqlite3; server-rendered HTML and vanilla JS, no React.
Run on localhost by default, with one Dockerfile for an always-on VPS behind Caddy.
Support exactly one Gmail or Google Workspace mailbox through the Gmail API.
Use a Google OAuth client from .env and request only gmail.modify and gmail.compose; store the refresh token encrypted with an APP_SECRET.
On first run, import 14 days of mail; then poll Gmail history every two minutes and persist the last history ID.
Deduplicate jobs by Gmail message ID, use exponential backoff for transient API failures, and surface a failed-jobs page.
Rules live in rules.md: label definitions, priority senders, newsletters, cold email, and messages that need a reply.
For each new thread, call the OpenAI API with the thread text plus rules.md and require validated JSON: labels, priority, needsReply, summary, and optional draftReply.
Apply Gmail labels automatically, but never archive, delete, unsubscribe, or send without a click.
When needsReply is true, create or update a Gmail draft in the original thread; never send mail from the app.
Build one dashboard with Priority, Needs reply, Newsletters, Cold email, and Failed jobs views.
Add a bulk-cleanup screen grouped by sender with message counts and List-Unsubscribe support; show the exact action and require confirmation.
Add a small analytics page: daily received count, top senders, category totals, and estimated time saved.
Store only IDs, classifications, job state, and draft metadata in SQLite; do not persist full message bodies after processing.
Redact tokens and email contents from logs; add CSRF protection and bind the admin UI to localhost unless ADMIN_TOKEN is set.
Include fixture-based tests for classification parsing, idempotent sync, label application, draft creation, and unsubscribe confirmation.
Out of scope: Outlook, multiple accounts, mobile apps, Slack/Telegram, calendar context, attachment filing, multi-user accounts, billing, and telemetry.
README: exact Google Cloud OAuth setup, scopes and redirect URI, .env example, how to revoke access, Docker/Caddy deployment, backups, and expected LLM costs.
Return finished code with migrations and scripts for dev, test, and start; no pseudocode or TODOs. Curated prompt: written and reviewed by hand for this app. In English on purpose — it is the language coding agents work best in.
What you lose
- Outlook and reliable multi-account support
- battle-tested token refresh, push sync, retries, rate-limit handling, and background uptime
- reply-in-your-voice learning with deeper mailbox, calendar, and knowledge-base context
- Slack and Telegram chat, mobile access, meeting briefs, and attachment filing
- hosted security, compliance, team administration, monitoring, and support
Why people still pay
They pay for the two-click setup and the confidence that a security-sensitive inbox integration will stay synced, recover from provider failures, and keep its integrations working. People who prefer to own the infrastructure can self-host the official open-source product instead of maintaining a smaller rewrite.
moat: Integrations Execution quality what a moat is
open-source product/managed hosting/OAuth/integrations/reliability
Free alternatives
Not in the mood to build it? These already exist, they are free or open source, and we checked them one by one.
Who has already built it
Starting from here is still vibecoding: the prompt is for when you want it exactly your way.
- Inbox Zero (opens in a new tab) — The official open-source product, with a supported self-hosting path. (alive)
What it costs in a year
20 $/mese 240 $/anno
Listino 20 $ al mese a persona su Inbox Zero. L’anno è dodici mesi pieni, senza sconti annuali.
Do you agree?
The vote balance
Ancora nessun voto: il tuo è il primo.
Nessun voto ancora — il primo pesa.