Inspiration

The average worker spends over 2.5 hours a day in their inbox (crazy, I know). Every email demands a decision: does this need a reply? Is this important? Can I delete this?

I wanted to build something that eliminated that issue entirely. Something to read through my inbox, sort it, and draft replies the way I would. The goal was to make inbox zero feel achievable in just a few minutes per day.

What it does

Inbox: Zero is an Email Management web app that connects to your Gmail account via Google OAuth and uses Claude (Anthropic's AI) to sort your unread emails into four categories ordered by importance:

  • Action Needed: emails that require a response
  • FYI: useful emails like transactions, confirmations, alerts
  • Promotional: newsletters, marketing, bulk mail
  • Can Delete: spam, phishing, other irrelevant messages

For every Action Needed email, Claude drafts a short reply that you can edit and send with one click. Every other email can be archived/marked as read individually or bulk-archived in one sweep. A live progress bar tracks how much of your inbox you've cleared, and when you hit zero, the app shows an overview of how many emails you processed and roughly how much time you saved.

How we built it

  • Next.js 14: frontend and API routes
  • NextAuth.js: Google OAuth
  • Gmail API(via googleapis): fetching, archiving, sending, and marking emails as read
  • Claude API (Haiku model): email categorization and reply drafting
  • Tailwind CSS: styling

Challenges we ran into

The way Gmail's API returned email data meant I had to go through many hoops to extract plaintext from it. Anthropic's rate limits meant that I wasn't able to go through with my original plan of sending all emails in parallel to get responses quicker. Instead, I had to go with a (slower) sequential process)

Accomplishments that we're proud of

I am proud of getting the Google authentication to work properly. You can use your actual Google account to log in and manage your emails with this project.

What we learned

I learned a lot about prompt engineering. Different wordings can change a lot when it comes to how the model sorted different messages.

What's next for Inbox: Zero

One main feature I want to add is manual re-categorization. If Claude miscategorizes a message, I want users to be able to override it.

Built With

Share this project:

Updates