In the fall of 2017, I started applying for an internship and after few days of application, I found myself surrounded with tens of confirmation automated email. In one of them was an email from a recruiter for the first round of interview. Due to lots of confirmation email, I forget to keep track of the application and I missed to respond to the email. Although I saw the email a bit late and received a response from the recruiter, I had already lost an opportunity.
I then started maintaining excel sheets to keep track of applications, but I did not like the extra work that I had to do. This was the birth of the idea of keeping track of applications easily and quickly.
What it does
The application basically consists of a chrome extension which enables itself when a job application site is visited. If the user has applied to that particular job, then he/she can simply click on the chrome-app and select to save the job link. When the next time, the user accidentally visits the same job application, he/she will check whether the application was already submitted or not by a single click. Thereby spamming the company with duplicate applications.
How I built it
A REST API using node.js, express.js and typescript. Implemented a hashing mechanism of the URL of the job link for a faster read. The chrome-extension pulls the job title and company name if present in the title of the page. The URL is then encoded so that it does not interfere with the query params on my API. The data is then sent to the server either to check if already applied or insert the new entry.
Challenges I ran into
- Not every job application site are same, some of them have a title with company name and position while some of them don't. For now, I only support description in the title tag.
- As I send the data as query param to check if it's already applied, the character "&" in the URL of the job link interferes with the query param of my own REST API. Encoded the URL to avoid the issue.
- There are certain companies that do not use third party application system, so including them in the matches list does not make sense. Which is why I keep the app active for all websites giving the user the functionality to save the website he/she is interested in.
Accomplishments that I'm proud of
- The idea and that I was able to think of different use case based on my own experience and a few of my friends.
- the app works as expected ;p
What I learned
What's next for Applied
- A web-based app for the user to modify the status of the application
- the inclusion of all job application websites
- Collect job description data and use it for future reference to suggest users with new jobs that have been posted on Glassdoor, and LinkedIn.