When we open our email, we see emails that originate from internship applications we filed months ago. Applications that we don't even remember. Attempting to track this type of work manually is exhausting as well. We wanted to fix this problem so we went out to build an app that automates this process for us and does all the heavy work load. Impulse allows users to easily access all their applications in a visually appealing setting and lists in chronological order of companies applied to, position applied for, content of the email, and stage of the application.
What it does
Impulse uses Google's gmail API to authenticate with a person's email and it tracks which emails are from internship applications. It then loads these emails into a database where it shows information on each email, including company name, logo, status, content of the email, and the time line. Additionally, if a company sends another email, it overwrites the existing entry in the database to accurately reflect the new email and showcases the time line changes.
How we built it
Our team built it using React for the front-end and node.js for the back-end.
For the front-end we used React material UI component library to implement our design and to deliver a pleasant user experience.
For the back-end we used node.js and started by getting the authentication (oAuth2) working with gmail, parsing through each email, and then analyzing each email and putting it into a category depending on the content stored in the email.
Challenges we ran into
For the front-end we initially ran into some issues with layouts and designing them so that the web application looks visually appealing.
We had a huge problem with oAuth2 authentication and getting the front-end connected with the back-end.
For the back-end we didn't have a numerous amount of internship emails, so we did not have enough data to make full use of Google Cloud Platform's natural language processing to work efficiently, and sorting emails became a bit more tricky.
Accomplishments that we're proud of
We are proud of building a fully functioning fluid application that authenticates with someone's gmail, parses through the emails, inserts them into a database, and presents them on a web application in an easy to follow format.
What we learned
We were able to get more comfortable with React and learned about the material UI component library for building a dynamic website, styling, and connecting with the back-end. For the back-end, we learned about oAuth2 connections, how to use gmail API, and parsing base-64 encoded emails.
What's next for Impulse
Impulse will be looking to expand to work for all types of applications, not just internships, and will function as a fully working application manager, allowing people to easily access their application history, what companies they applied to, when they applied, and their status in an extremely easy to use setting.
We hope to simplify the process of applying not just to internships, but to companies, colleges, and more!