# How to Vibe Code Your Own Inbox Zero (and Stop Paying for It)

> Automate and clean your inbox

- Site: https://getinboxzero.com
- Category: Productivity SaaS
- Verdict: **Solid side project** (72/100 vibecodeable)
- Estimated effort: 2-3 weeks part-time

## Verdict

Build a personal subset in 2-3 weeks, but expect serious friction dealing with OAuth app verifications and provider rate limits.

Because the official repository is open-source, you have a blueprint. However, vibecoding a personal email workflow tool is not trivial: Google and Microsoft will not grant broad OAuth scopes without friction, webhook state management requires careful error handling, and running background LLM pipelines against hundreds of daily emails will test your asynchronous job queue architecture.

### What you can't replicate

- Google CASA Tier 2 security accreditation and SOC 2 compliance trust
- Existing enterprise user base and open-source brand mindshare

## What it does

An AI-powered email assistant and workflow layer that organizes inboxes, drafts replies in your voice, blocks cold emails, and auto-files attachments.

### Core features

- OAuth email provider connections (Gmail & Outlook Graph API)
- Asynchronous email ingestion and webhook sync
- AI categorization, cold email filtering, and auto-labeling
- Voice-matched email reply drafting using LLMs
- Bulk unsubscription parser and one-click archiver
- Auto-file PDF attachments to cloud storage
- Pre-meeting briefings paired with calendar integration

## The business

### Pricing

- Starter: $18/mo — For individuals looking to buy back their time.
- Plus: $28/mo — For power users who need integrations and knowledge base support.
- Professional: $42/mo — For teams and growing businesses.
- Enterprise: Custom — For organizations requiring compliance and self-hosting.

Founded 2023.
Team size: 3.

## The hard parts

- Navigating stringent Google CASA Tier 2 security reviews and OAuth scopes for read/write email access
- Managing bidirectional email sync, rate limits, and webhook failure recovery across multiple providers
- Ensuring idempotency so automated background LLM jobs never double-process or lose inbound messages
- Handling background background queues reliably without hitting serverless timeouts

## How to vibe code Inbox Zero

### Prerequisites

- Node.js (free): Required runtime for Next.js full-stack development
- GitHub (free): Source control and deployment pipeline integration
- Google Cloud Console Account (free): Required to set up OAuth credentials for Gmail and Calendar access

### Recommended AI tools

- Claude Code: Best-in-class terminal agent for scaffolding complex API integrations and managing multi-file Next.js codebases
- Cursor: Ideal for iterative frontend component design and debugging React state

### Stack

- Frontend: Next.js with Tailwind CSS and shadcn/ui
- Backend: Next.js API Routes with Inngest for durable background queues
- Database: Neon (Serverless Postgres with Prisma ORM)
- Auth: better-auth
- Payments: none (personal clone)
- Other: Vercel AI SDK, Anthropic API (Claude 3.5 Sonnet), Upstash Redis for rate limiting

### Hosting

- Vercel (Hosting the Next.js frontend and serverless API endpoints): $0-20/mo
- Neon (Serverless Postgres database storage): $0/mo

### Build guide

1. **Project Scaffolding & Database Schema** — Initialize the Next.js monorepo structure with Prisma, configuring Postgres models for Users, ConnectedAccounts, Emails, Categories, and AIAutomationRules.

```
Create a new Next.js TypeScript project configured with Tailwind CSS, Prisma ORM, and shadcn/ui primitives. Set up a PostgreSQL schema using Neon with models for User, ConnectedAccount (storing encrypted OAuth access and refresh tokens for Gmail/Outlook), EmailMessage (id, threadId, subject, snippet, body, sender, labels, isColdEmail), and AutomationRule. Configure Prisma client initialization and basic directory organization for components, actions, and services.
```

2. **OAuth Integration & Provider Sync** — Implement Google and Microsoft OAuth authentication flows to securely link personal inboxes and store encrypted tokens.

```
Implement OAuth2 authentication routes for Google (Gmail & Google Calendar) and Microsoft Graph (Outlook). Use better-auth or custom API route handlers to securely handle authorization code exchanges. Store encrypted refresh tokens in the ConnectedAccount table. Build a background sync service that fetches recent email headers and metadata via the Gmail API, storing them in the EmailMessage table while handling token expiration and automatic refreshing.
```

3. **Asynchronous AI Pipeline & Categorization** — Build background worker jobs using Inngest to classify incoming emails, detect cold emails, and assign smart categories.

```
Set up Inngest in the Next.js application to handle asynchronous background jobs. Create a pipeline function triggered upon new email ingestion that calls the Anthropic API via the Vercel AI SDK. The LLM prompt should analyze the email subject, body, and sender to classify the message into categories (Newsletter, To Reply, Cold Email, Notification, Urgent) and provide a classification rationale. Update the database record with the assigned labels and cold email status.
```

4. **Voice-Matched Reply Drafting** — Implement AI-driven reply generation that references user history and calendar availability to pre-draft context-aware responses.

```
Build an AI reply generation service that runs when an email requires a response. Fetch recent sent email history and upcoming calendar events to understand the user's availability and personal tone. Construct an LLM prompt using the Vercel AI SDK that generates a concise, context-aware reply draft matching the user's voice. Store the generated draft in the database and provide a dashboard interface to review, edit, and approve sending the reply back through the Gmail/Outlook API.
```

5. **Dashboard UI & Bulk Unsubscribe** — Create the main web dashboard featuring smart inbox views, filtering tabs, and a bulk unsubscription manager.

```
Develop a responsive dashboard UI using shadcn/ui components in Next.js. Create views for 'Inbox', 'To Reply', 'Cold Email', and 'Newsletters'. Build a dedicated 'Bulk Unsubscribe' page that lists mailing list senders, parses unsubscribe headers or links, and allows the user to select multiple rows to execute bulk unsubscription and automated archiving rules. Ensure real-time optimistic UI updates for all actions.
```

6. **Attachment Auto-Filing & Final Polish** — Add support for detecting incoming document attachments and routing them to cloud storage integrations.

```
Implement a file handling subsystem that inspects incoming emails for PDF attachments (invoices, contracts, reports). Using the Google Drive API, automatically parse file names and upload them to designated structured folders (e.g., 'Invoices/March', 'Contracts'). Add error handling, retry logic for failed API calls, and Sentry error tracking across all background pipelines.
```

### Cost vs paying

**Starting costs (one-time):**

- Google Cloud console setup & verification: $0
- Total: $0 one-time

**Ongoing costs (monthly):**

- Vercel Hobby / Cloudflare hosting: $0
- Anthropic API usage (personal email volume): ~$5-15/mo
- Total: ~$10/mo

- Paying for the SaaS instead: $18/mo (Starter tier)
- Build time: 30-40 hours
- AI tool credits: $20/mo (Claude Pro / Cursor)
- Break-even: N/A (Built for personal use and learning)

## Sources

- [Inbox Zero Official Website](https://getinboxzero.com)
- [GitHub - elie222/inbox-zero Repository](https://github.com/elie222/inbox-zero)