It is quite normal for students nowadays to be applying to hundreds of jobs, which quickly becomes annoying to track. The solution most people ended up going with was spreadsheets (shudder). I was skeptical at first, and rightly so: spreadsheets are not scalable for the volume of applications I (and presumably most other students) send out on a daily basis.
What it does
It is an automatic job application tracker; it parses data from each email you receive and classifies it as one of three categories: "applied", "rejected" and "offers". Through a dashboard, you are thus able to view the current state of your candidature with all the companies you applied for roles with. This also makes it easier to perform statistical analysis.
How I built it
- Server running Flask/Python
- Gmail API for reading the user's email
- Google Cloud AutoML for training the model to classify emails
- Google Cloud Firestore for storing the user's job application status
- Twilio's API for sending a sassy text every time you are rejected.
- Twilio's API for sending weekly reports with status updates
- Bootstrap Studio for the UI
Challenges I ran into
- Pivoted ideas a quarter of the way through, which for a 24h hackathon is quick suicide
- AutoML takes a while to train, and I did not have enough job offers (sigh) to make for an accurate model. My model is thus a little biased towards rejections.
Accomplishments that I'm proud of
- Addresses a real need as validated by students at the hackathon as well as reddit posts
- Pretty UI!!
What I learned
- Twilio is awesome
- So is Firestore
- SO to AutoML
What's next for Bread Secured
- Instead of polling the user's mail every so often, it would be more efficient to use the endpoint for push notifications which we did not discover until it was too late.
- "Unread" style borders for the cards that were added between the last view and this one.
- Connecting statistics and other UI-only features to real data
- Consolidated stats using Twilio (email)
- Improving model accuracy