Inspiration

Job applications are often repetitive, time-consuming, and difficult to tailor effectively. Candidates need to analyse job requirements, adapt their CV, write a convincing cover letter, use the right keywords, and still ensure that every statement remains accurate.

We created JobAssist to turn this fragmented process into a guided workflow. Our goal was not to build another generic text generator, but an application that helps candidates create professional, personalised, and ATS-friendly application documents while keeping them in control.

What it does

JobAssist transforms an existing CV, a job description, and optional company information into tailored application documents.

The app uses a two-stage workflow:

  1. Candidate Profile Assistant It analyses the candidate’s CV, extracts professional experience, skills, competencies, interests, and career goals, and identifies missing information.

  2. Application Assistant It compares the candidate profile with a specific job posting, identifies relevant requirements and keywords, adapts the CV, generates a targeted cover letter, and checks company and contact information.

Users can decide whether the CV should be tailored to the position and whether the cover letter should focus only on the role or also on the company. The final documents can be exported as editable Word files and PDFs.

How we built it

We built JobAssist as a local application with a browser-based user interface and an AI-supported processing workflow.

Instead of using one large prompt for the entire application, we divided the process into specialised tasks, including:

  • CV analysis
  • candidate profile creation
  • competency and keyword extraction
  • job requirement analysis
  • candidate-to-job matching
  • ATS optimisation
  • cover letter generation
  • completeness and consistency validation

The AI returns structured JSON data instead of unstructured text. This allows the application to validate results, display them in editable fields, reuse information across multiple steps, and generate consistent documents.

We also created structured Word templates that remain visually professional while avoiding design elements that can cause problems for applicant tracking systems.

Challenges we ran into

One of the main challenges was preventing the AI from inventing qualifications, experience, or achievements. JobAssist therefore distinguishes between verified information, reasonable interpretations, and missing data. When important information cannot be confirmed, the app asks the user instead of generating an assumption.

Another challenge was balancing visual design with ATS compatibility. Complex layouts, text boxes, icons, tables, and multiple columns may look attractive but can reduce machine readability. We therefore developed document templates with a controlled structure that works for both recruiters and automated systems.

Creating prompts that produce reliable results for different professions, experience levels, and career goals was also difficult. We addressed this by splitting the workflow into smaller, clearly defined AI tasks with structured inputs and outputs.

Accomplishments that we're proud of

We are proud that JobAssist goes beyond simple document generation. It guides users through the complete application process, validates information, and keeps the candidate in control of every important decision.

The two-stage workflow creates a reusable candidate profile before generating job-specific documents. This reduces repeated work and makes it possible to create multiple tailored applications efficiently.

We are also proud of the combination of structured AI output, ATS-friendly templates, editable Word documents, and PDF export in one integrated application.

What we learned

We learned that building a reliable AI application requires much more than connecting a user interface to a language model. Workflow design, prompt structure, data validation, document generation, and human review are equally important.

We also learned that AI produces more consistent results when complex tasks are divided into focused stages with clearly defined inputs and outputs.

Most importantly, we learned that AI should support the candidate rather than replace their judgement. Professional application documents represent a real person, so transparency, accuracy, and user control must remain central to the process.

What's next for JobAssist

The next steps are to improve semantic matching between CVs and job descriptions, add explainable match scoring, and provide clearer recommendations for missing qualifications and transferable skills.

We also plan to add more languages, additional document templates, stronger automated quality checks, and improved support for different professions and career levels.

Our long-term goal is to make JobAssist a reliable application companion that helps candidates create better applications faster without losing authenticity, accuracy, or control.

Built With

Share this project:

Updates