← all projects

$ du

done
2026
pythonchromadbraggmail apiuv

This project was inspired by the youtuber reysuu, who used the agent Claude to run daily briefings for himself so he wouldn’t have to struggle through his inbox line by line. So I built this project with the same thinking: minimizing the effort of going through my emails, using Claude and Obsidian.

Example

This is how it turned out — a .md file viewed in Obsidian (please don’t judge my emails): This is the example output, please don’t scrutinize my email

How it works

  1. Fetch — connects to the Gmail API and pulls the day’s emails, with the user authenticating via OAuth.
  2. Embed & index — each email is cleaned, embedded, and stored in ChromaDB so the agent can search by meaning, not just keywords.
  3. Retrieve — when it’s digest time, the agent queries the index for what’s relevant: unanswered threads, upcoming dates, commitments.
  4. Generate — retrieved context goes to an LLM, which writes the digest: a few bullet points instead of a hundred emails.

What are the struggles?

The thing I found quite troublesome is the setup, since dealing with the Google developer console is really tiring, and this is not a published project — so setting it up yourself takes some work. This project is mainly for my own learning.

Also, if you’re using an Outlook account from your employer — or in my case, school — you can’t quite get the authentication to hand your emails to a third party. The solution is to forward all of your emails to a Google account, and from there you can fetch them.

What I learned

Through this project, I picked up quite a bit of knowledge about how some AI tools work — I learned about MCP and all the other pipeline pieces while setting it up.

Status

It’s done for now, but I will revisit it when I feel it needs more upgrades — for example addressing privacy concerns, running with local LLMs instead of Claude, or improving the authentication process if my friends or others start using it.