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.
