Inspiration

Our project, Applycation, addresses the time-consuming nature of job hunting, where candidates face the challenge of sifting through countless job listings, evaluating relevance, and completing repetitive application forms. While existing tools can help by providing alerts or automating portions of the application process, applicants still spend significant time manually filtering relevant roles and filling out applications.

What it does

Applycation streamlines the entire job application journey by automating the search, match, and application process. Users can upload their resumes, set job preferences, and specify demographic details directly through our user-friendly Streamlit interface.

How we built it

Our platform’s backend is structured around two core services:

  • Relevant Job Finder: This service leverages Anthropic’s Claude Haiku to extract targeted keywords and find suitable job postings based on user preferences. This significantly improves job match accuracy and ensures only relevant applications are submitted.
  • Automatic Application: Powered by Google’s Gemini, this service automates the application process by generating and deploying custom Selenium scripts to complete application forms on various job portals. The longer context window provided by Gemini allows Applycation to automate form-filling for diverse job sites effectively.

These services run as hourly cron jobs, continuously scanning for new opportunities, ensuring users always have access to the latest, most relevant job postings.

Challenges we ran into

Developing Applycation presented challenges with scalability and complexity, particularly with the AI model's context and rate limitations, which constrained Selenium script generation for complex job forms. To address this, we optimized batching and context usage to manage rate limits. Dynamic resume personalization proved resource-intensive, so we focused on core automation, planning to revisit customization later. Varying job portal structures complicated automated form-filling, leading us to implement error-handling and template matching for consistency. Lastly, we streamlined microservices deployment by containerizing each service, simplifying dependencies and enabling easier scaling.

Conclusion

By automating the most tedious aspects of job searching, Applycation allows candidates to focus on preparing for interviews and making strategic career decisions. Our tool not only saves time and reduces stress but also enhances the chances of finding a well-suited job, creating a more efficient and focused job search experience.

Share this project:

Updates