Resume builder - AI Tinkerers - Nashville Hackathon
AI Tinkerers - Nashville
Hackathon Showcase

Resume builder

Team led by AI engineer Abhiyan Singh (Voice AI, aipersa.com) building a labour-up ML/Voice product; investor-seeking—attending LIGHTSPEED Nashville 9/5/2025.

1 member Watch Demo

Upload a resume (we find and fix gaps) or start from scratch by role (Plumber, Student, General, etc.). Laborup then asks only the missing questions via chat or voice, fills a structured JSON, and exports a polished DOCX.

Functionality (works now):

Upload PDF/DOCX → parse → follow-ups on missing fields.

Start from scratch by category with role-specific schemas & priority paths.

Voice loop: TTS asks → mic records → ASR transcribes → exact JSON field filled; “skip” anywhere.

AI polish → preview → DOCX download.

Customer validation:

Built directly for the challenge pain (incomplete blue-collar resumes).

Internal pilot runs show voice reduces typing; year-only dates common; bullet prompts help recall.

Next: short sessions with warehouse/delivery/housekeeping workers + 1–2 recruiters to capture completion time & edit burden.

Design & UX:

One toggle for voice, single mic button, each question also shown with examples.

Live JSON view; deterministic fallbacks so users never get stuck.

Feasibility (market & path):

Users: blue-collar job seekers. Buyers: agencies, workforce boards, training programs.

Path: free worker tool → B2B seats/API (ATS export, bulk invites, analytics).

Team execution:

Single, clean app.py delivering parsing, schema logic, dynamic Q&A (chat/voice), polish, and DOCX export.

Technologies (required)

Python, Streamlit

OpenAI: gpt-4o-mini (extraction & Q&A), gpt-4o-mini-tts (TTS), gpt-4o-mini-transcribe (ASR)

Parsing/Output: pypdf (+ PyPDF2 fallback), python-docx, Jinja2

Audio UI: audio-recorder-streamlit

Utilities: re, json, io, tempfile

Architecture & Deployment (short)

State: st.session_state.resume as canonical JSON; role priority lists select the next field.

Loop: TTS → mic → ASR → set_field_by_path() → repeat until complete.

Render: Jinja2 → preview → python-docx → DOCX.

Toggle 🎙️ Voice interview (beta) and follow prompts.

User research (required)

Plan: 10–15 worker interviews + 1–2 recruiters; measure time-to-DOCX, completion rate, field coverage, re-record rate, and post-polish edits.

Early pilot learning: voice reduces friction; allow year-only + “Present”; example bullets speed recall.

Metrics, Next Steps, Risks

Key metrics: completion rate to DOCX; median time-to-resume (<10 min); coverage of company/title/dates/location/licenses; re-record rate; polish edit burden.

Next steps (includes your request):

Outbound AI phone agent to call applicants directly, conduct the interview, and auto-fill the resume.

Core call chunk is already built; integration with this resume builder is planned (took longer than demo window).

Multilingual prompts (ES/NE), license/cert capture with photo upload, ATS/job-board exports, phone IVR fallback, agency dashboard.

Risks & mitigations: ASR errors (confirm & re-record); over-polish (never invent facts; flag AI-added text); privacy (clear export/delete); adoption (workforce board/agency partners).

TL;DR: Upload or start by role, answer only what’s missing (chat or voice), and download a professional DOCX—fast. Roadmap: add AI outbound calls to interview applicants automatically and fill the resume end-to-end.

Everything was created during the hackathon period.

AI Tinkerers The Lighthouse