ResumeAI

AI Resume Builder with ATS Scoring

HACKATHONReactGroqLLaMANode.jsATS Scoring
ResumeAI interface showing generated resume content alongside a live applicant tracking system compatibility score

Outcome metrics

24 hours
Concept to working build at AppXcelerate 1.0
3
Fallback strategies in the JSON parsing chain
Live
ATS compatibility score recomputed as the user edits

The problem

Most applicants never reach a human reader: an applicant tracking system parses the file first, and a resume that survives that parse looks different from one designed to impress a person. Candidates get no feedback on which of the two they have written. The build constraint was equally concrete — one 24-hour hackathon at AppXcelerate 1.0, so every architectural decision had to be defensible in minutes rather than debated.

The approach

Latency as the product decision

The interaction only works if regeneration feels immediate; a fifteen-second wait turns iteration into form-filling. We used LLaMA on Groq specifically for inference speed, and structured the UI so users regenerate individual sections rather than the whole document.

  • Groq-hosted LLaMA chosen for throughput over marginal quality gains
  • Section-level regeneration instead of whole-document rewrites
  • Optimistic UI updates while generation streams

Three-strategy JSON parsing

Structured output from a language model fails in predictable ways: fenced code blocks, prose wrapped around the object, trailing commas. Rather than one strict parser that throws away an otherwise good response, we chained three strategies and only surfaced an error if all three failed — the single change that most improved perceived reliability.

  • Strategy one: direct JSON parse of the raw response
  • Strategy two: extract and parse the first balanced JSON object found in the text
  • Strategy three: repair common malformations — code fences, trailing commas, smart quotes — then reparse
  • Explicit failure state and retry only after all three strategies fail

Scoring the resume the way a machine reads it

The ATS score is computed client-side against the generated content and updates as the user edits, so the feedback loop is immediate and costs nothing per keystroke.

  • Keyword coverage against the target job description
  • Section completeness and standard heading detection
  • Formatting checks for constructs that commonly break parsers
  • Score recomputed live on edit, with no server round trip

The outcome

ResumeAI went from concept to a working, demonstrable build inside the 24-hour AppXcelerate 1.0 window: users generate resume sections against a target job description, see an ATS compatibility score update as they edit, and the three-strategy parser keeps malformed model output from surfacing as a failure.

  • Working build delivered within the 24-hour hackathon constraint
  • Three-strategy parser chain absorbing the common structured-output failure modes
  • ATS score recomputed live on edit with no server round trip
  • Section-level regeneration keeping the iteration loop short

A public URL for this product is not currently published. The figures above come from HEILC's own build and evaluation records for the project.

Bring us the next one

If your problem looks like any of these — a model that needs to be trusted, a corpus that needs to be searchable, a deadline that is not moving — we should talk.