Many students apply to upwards of 100 internships per year. There's just too much information, so most people turn to maintaining huge spreadsheets to keep track of it all. Continuously documenting where you've applied and what your results were is a tedious task that takes time, and when you're keeping track of over a hundred applications - the time adds up.
What it does
Track My Internship (TMI) is an internship tracker that uses natural language processing to parse your emails and determine where you've applied to and where your results were. Then, we visualize this information in a sleek interface. Users may also enter in information manually.
How we built it
We used a client-server architecture. We have a front-end built in React using an implementation of Google's Material UI. We use Firebase for Google authentication, secure storage of user data, and hosting. Our server is built in Node and retrieves a user's email using the Gmail API and parses it using Google Cloud Natural Language. Our server is a Google Cloud App.
Challenges we ran into
We ran into a bug creating a Google authentication token via the Firebase login. We were unable to do so, receiving an error from Google's servers. We deleted our project and re-created it - without changing a single line of code, it started working after hours of trying to debug it.
Accomplishments that we're proud of
One of the things we're proud of was how we were able to work as a team and develop parts that matched what each other person needed. We had never worked on such an intricate project as a team together before, and we had to work closely with each other and learn to communicate in a way that doesn't come from school or experience.
What we learned
We learned about all the resources out there we can use and how we can bind it all together into one unified project. We were able to handle and navigate APIs and frameworks most of us had never touched before and figure out all of the difficulties and hardships in moving them together.
What's next for Track My Internship (TMI)
In the future, we're planning on making our natural language processor more robust and support emails from a wide range of clients. We can add more options for the client to take initiative using our application, such as searching for new job opportunities by company and learning what these jobs and internships look like functionally.