Inspiration

My inspiration came from wanting to streamline the work process for businesses. Working on a business creates a lot of tasks and I thought of streamlining the workflow through emails. Since emails are mundane to respond to, why not create something that allows people to reply to an email with one click of a button? As well, not only can business owners use this, but also anyone who frequently writes emails. Students, teachers, employees, and more!

What it does

AutoMail would have access to prior emails in the thread as well as be able to reply to the email using the tone that was present in those past emails. It grabs that information, sends it to an llm, and outputs a response right into the user's open compose email tab. The user also has an option to include user input into the extension's popup when the user requires the email reply to have content that is not found within the past emails in the thread.

How we built it

I created it by using Gemini's API, Google People's API, Gmail API, and Node.js. First, I created a base Canvas Extension and slowly added the features onto it. I first used Gmail's API to grab the email the user is currently on. Then, I grabbed the thread associated with that email. I passed it to the Gemini API through a Node.js server and displayed Gemini's response in a formatted way.

Challenges we ran into

Being able to create this took a lot of trial and error. The most difficult part was being able to connect to Gmail API because I have never used any of Google's API's before. The tutorials for this were also sparse and the documentation was lengthy and hard to digest. I soon found out that I had to generate a key from the unpacked extension that I had loaded and place it in my manifest file for the API to work. Another difficulty that I went experienced was reaching Gemini's request per minute rates. I wasn't sure how to combat this after struggling for a while. However, I ended up updating my code to reduce the amount of requests a user can make at a time.

Accomplishments that we're proud of

An accomplishment I'm proud of is being able to create a Google Extension in the first place. This was my first time creating one that was functioning as expected. This was also my first hackathon, so the feeling of the time crunch was present.

What we learned

I learned how to connect multiple API's in order to achieve a common goal. With Google Extensions, I learned the usage of different files, such as manifest.json, services, injecting content scripts, scopes, and user authentication. I also learned that I should've learned more about making Google APIs usable before the Hackathon so that I could have spent more time in the building process. However, I can always apply that to the next hackathon.

What's next for AutoMail

Next, I want to create more customization options for the user. I also want to add more options for AutoMail so it can become a fully-fledged Gmail assistant. For example, summarize threads and take in more input from longer threads. Then, I want to deploy it to the Chrome store for others to use it and streamline their email processes as well.

Built With

Share this project:

Updates