Simple Automation for update summary from emails

If you’ve ever spent a Monday morning sifting through a week’s worth of emails to compile a client update, you know the how dreadful it is and time consuming. It’s a necessary chore, but one I wanted to try and see if it can be automated: to build an app that would do that for me.

Idea

I wanted a simple tool that could:

  1. Securely log into my Gmail account.
  2. Scan all emails from the last seven days, filtering them by a specific client’s name and email domain (to, from, or cc).
  3. Feed this conversation soup to a large language model.
  4. Produce a neatly structured summary of project updates, action items, and key discussions.

The user would simply need to provide their own OpenAI API key, point the app at the right client, and let it work its magic. Simple, right?

My Co-Pilot: Gemini 2.5 pro

For the coding part, I had a rather brilliant partner: Google’s Gemini 2.5 Pro. Vibe code with Gemini providing the step-by-step approach and code.

The result was fantastic. It provided the logic, the Python functions, the handling of the Gmail API—it was nearly perfect right out of the box. I spent less time debugging core functionality and more time following instruction.

The vast majority of my time on this project was spent not on the code, but on getting the app simply run in the app engine.

The app is now live and functional. For now, access is limited to a handful of selected users (mostly me, trying to justify the time spent).

The code that powers this little summary engine is open for you to view, fork, and bend to your will.

Complete code on GitHub here: https://github.com/balaganesh/clientsummary

Feel free to make it work for you.

App Link – https://tools.balaganesh.org/clientsummary/

Screenshots of the app

The Road Ahead (Or, What Could Be)

This tool was built for a quick, specific use case, and it works. But my mind is already racing with what it could be. A few ideas on the roadmap include:

  • Polished Outputs: Generating the summary as a clean, shareable PDF.
  • More Data Sources: Integrating with Slack to pull in conversations from relevant channels.
  • Better UX: A simple progress bar so you know it’s actually working
  • Efficiency: Optimising API calls to reduce token usage and, by extension, cost.
  • Smarter Retrieval: Caching email data in a vector database for faster, more context-aware searches on subsequent runs.

For now, it’s a simple tool that solves a simple problem. And more importantly, it was a fantastic reminder that while AI can make coding feel like magic, deploying that magic is often where the real work begins.

Leave a Reply

Your email address will not be published. Required fields are marked *