Skip to main content

[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
Indice: plus 1. a toss-up

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”.

One-shot prompt EN
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.

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.

Related apps

Distribuzione dei verdetti n = 996

YES 153 KIND OF 451 — il verdetto di questa app NOT REALLY 392

From a Confusing Brief to a Complete UX/UI A vague brief becomes a navigable app. Product Ad From a Single Photo A photo becomes an animated ad, no code required. Get Claude to Watch Your Videos Claude watches your videos and turns them into text. Higgsfield Inside Claude Code Generate images and video while you code in Claude Code. Turn a Loom Recording Into a Web Page A screen recording becomes a web page, no code. Vertical Shorts With NotebookLM Your sources become a vertical short. Luxury Landing Pages on Lovable A luxury landing page from a single prompt. Excalidraw Running Locally Excalidraw free on your computer, no code. Mistral OCR in Your Workflow Extract text from documents with Mistral OCR. Claude SEO in the Terminal 25 free SEO skills inside Claude Code. Google Search Console inside Claude Code Search Console data inside your terminal. Claude Code Routines Claude working on its own, computer off. Clone a Landing Page in React With v0 Clone a real landing page into React code. Context Economy With Claude Work light and don't burn through Claude's limits. From Prompt to Self-Improving Skill Claude skills that learn from your mistakes. From NotebookLM to Canva: Presentations NotebookLM slides, finally editable in Canva. The Map for Understanding Every AI Tool 12 categories for placing any AI tool. Transparent PNGs With ChatGPT Real transparency, not a fake checkerboard. Animated Infographics With Gemini Infographics that loop, animated with Gemini. Market Research With Deep Research Deep Research as your market analyst. Get Cited by AI Search Engines (AEO) Become a source that ChatGPT and Perplexity cite.