Automating Job Application Tracking: How I Built a Tracker that uses LLMs in 15 Hours
Using Google Apps Script with Gmail and Gemini APIs, this tracker automates the organization and tracking of job applications, saving time and reducing errors through prompt engineering and AI insights.
Built with Google Apps Script, Gemini API, Gmail API, Google AI Studio, and Google Cloud Platform, it’s a streamlined solution for job seekers and data enthusiasts alike.
visit Github repository for full code, setup instructions, and limitations.
As the internship season looms and job applications start piling up, I can’t help but reflect on the challenges that come with managing them. For many of us, tracking applications manually in a spreadsheet can be tedious and time-consuming. But what if there was a way to make this process seamless, automated, and insightful?
As a data analyst, I couldn’t afford to overlook the valuable insights hidden in my job application data. Failing to track these applications creates a missed opportunity to derive insights from the process itself. After all, there’s a wealth of information in this data — and I wasn’t going to let it go to waste.
The 15-Hour Journey
In the spirit of automating repetitive tasks and leveraging available tools, I set out to build a job application tracker. Armed with JavaScript (a language I didn’t fully understand) and an evening’s worth of coffee, I spent 15 hours and wrote 180 lines of code. The result? An automated job application tracker that connects Gmail, Google Sheets, and Gemini’s AI models to streamline and automate the tracking process.
The Power of AI in Automating Intelligence tasks
Before the AI boom, automating tasks that involved large amounts of unstructured or textual data was nearly impossible. The tools just weren’t there. You could manually sift through hundreds of emails or job listings, but that wasn’t scalable or efficient. Fast forward to today, and AI has become mainstream. APIs and SDKs are now accessible, making it possible to automate intelligence tasks with just a few lines of code.
My Project uses the aforementioned APIs, namely Gemini API with two LLMs.
- Gemini 1.5 Flash-8b (Smaller model)
- Gemini 1.5 Flash (Large and Powerful model)
What It Does
The Job Application Tracker is designed to pull job-related emails directly from the Gmail inbox, automatically classify them, and extract key information — such as job titles, company names, application statuses, and dates — into a neatly organized Google Sheets document. This eliminates the manual entry process, saving countless hours and reducing the risk of missing important details.
How It Works
1. Email Parsing: The script uses Gmail’s API to search for job-related emails based on a custom query. Once the emails are identified, it uses Gemini’s AI models, and prompt engineering to filter and classify the emails based on relevance. The LLM pipeline has two stages.
A) One smaller AI model (8B parameters) checks the subject line and a snippet of the email body to determine whether it’s relevant, and related to a job application
B) If so, the full email body is scanned using a bigger powerful Gemini model, where it extracts relevant data in a specific format.
My previous article talk about how we can think about AI tasks such as this, namely, how you can divide the problem in smaller parts, and then use an LLM or AI model for each tasks. I used the same strategy here, to decrease costs. For example, if I didn’t utilize the smaller model, and gave all data to big model, I would be using almost thrice as many tokens.
2. Data Extraction: The extracted information, given in a JSON format, is processed and stored in Google Sheets.
Overall, it saves data such as :
- Date,
- Application status,
- Job Title,
- Company,
- Status Update if any,
- and Email Link for review
3. Customization: You can customize the search queries and the format of your Google Sheets, prompts, and Gmail inbox search queries to match your specific needs. Whether you’re tracking internship applications or full-time jobs, the tracker adapts to your workflow.
The Future of Automation
What once seemed like a daunting and manual task is now something I can track with a few clicks. With the power of AI and automation, managing job applications has never been easier. As LLMs continues to evolve, I can only imagine the future possibilities.
For now, though, I’m just excited to have a tool that works. In 15 hours, I’ve transformed a tedious task into a simple, automated process. And for any fellow data analysts or job seekers out there, I’d highly recommend giving automation a try — the insights you can gain from your application data might surprise you.