Inspiration

The current tech job market is extremely competitive. Like many other students trying to get their foot in the door, we have applied to numerous internships in hopes that one leads to an interview. While tools exist to help autofill job applications, they still require users to manually review each job posting, determine whether they are a good fit, and repeatedly submit applications one-by-one. At the same time, constantly checking job boards to be among the first applicants can be stressful and time-consuming.

We created AutoApply to streamline this process by reducing repetitive work and helping students focus on opportunities that best match their experience.

What it does

AutoApply is the ultimate internship hunting application. There are 3 main functionalities: monitoring, tailoring, and applying.

  1. Monitoring: We monitor internships that are released amongst many different fields in tech, such as software engineering, product design, and cybersecurity. Candidates are able to choose which fields of internships they would like to apply to, and when internships are released that match the fields they chose, a new application task is created.

  2. Tailoring: The resume given by the user is parsed and compared against the requirements and preferred skills within the internship description. A score is then given showing how much of a match you are for the role, which is calculated by finding how many of the required skills are included in your resume. The experience, projects, and skills that match the skills the employer is looking for are moved to the top of their respective sections.

  3. Applying: Once the resume is tailored, AutoApply uses browser automation to fill out the internship application.

How we built it

AutoApply combines AI-powered text analysis with browser automation tools to streamline the internship application process. The system parses job descriptions to extract relevant skills and requirements, then converts the user’s resume into structured data that can be analyzed programmatically. Using semantic similarity scoring, AutoApply ranks resume bullets based on how closely they match the job’s required qualifications and responsibilities. The resume is then dynamically reordered so that the most relevant projects, experience, and skills appear first. A LaTeX template is used to generate consistent, clean, and ATS-friendly PDF resumes tailored to each role. In addition, the app includes browser automation experiments using Browser Use to interact with job application forms. Finally, AutoApply includes job monitoring logic that identifies new postings matching the user’s selected preferences and creates application tasks automatically.

Challenges we ran into

One challenge was determining how to accurately measure how well a resume matches a job description. Job postings often use varied wording for similar skills, making direct keyword matching unreliable. We addressed this by using semantic similarity techniques to compare resume content with job requirements.

Another challenge was ensuring browser automation worked consistently as elements such as check-boxes and dropdown menus often had very unpredictable behavior.

Accomplishments that we're proud of

We are proud that we were able to create and end-to-end pipeline that can analyze job descriptions and automatically tailor resumes based on role requirements.

What we learned

We also learned how automating processes such as applying for internships/jobs require can be very complex, needing strong system design.

What's next for AutoApply

The auto applying functionality does not work due to the wide variety of application formats. We also need to implement tasks being automatically created when new applications come from the monitor.

Built With

Share this project:

Updates