ResumeAI Optimization Platform
ATS-Aware Resume Scoring & Narrative Optimization
1. SYSTEM OVERVIEW
An AI-powered resume optimizer analyzing professional summaries against target job descriptions, providing real-time ATS scores and impact-driven writing tips.
Qualified software engineers get filtered out by Applicant Tracking Systems (ATS) due to poor keyword matching and failure to use metric-driven impact language.
Improves candidate callback rates by matching resumes with target keywords and restructuring sentences to follow the STAR methodology.
- Assess resume keyword densities and match ratios in real time
- Provide transparent, actionable feedback without making blind revisions
- Create responsive sandbox editor displaying instant score updates
- Designed prompt constraints restricting LLM hallucinations in rewrites
- Developed candidate summary scoring heuristics running client-side
- Implemented clean, typography-focused layout editors
2. SYSTEM FEATURES
Interactive editor evaluating keyword presence and action verbs against target goals.
Secured AI rewriter transforming generic sentences into metric-driven statements.
Highlights target skills missing from a resume compared to job descriptions.
3. SYSTEM ARCHITECTURE
Hybrid architecture processing lightweight parsing client-side for performance, routing content through security filters to external LLM APIs for privacy-compliant rewrites.
Candidate Text + Keywords ──> Heuristic Parser (Client-Side) ──> ATS Score Dashboard
│
[Rewrite Request]▼
Next.js API Handler (PII Filter) ──> LLM API ──> Styled Recommendationsresume-ai/ ├── src/ │ ├── app/ │ │ └── api/ │ │ └── rewrite/route.ts # LLM gateway │ ├── components/ │ │ ├── Sandbox.tsx # Text editor │ │ └── ScoreMetric.tsx # Telemetry indicators │ └── utils/ │ └── parser.ts # Regular expressions
4. INTERACTIVE SIMULATOR WIDGET
Run active operations audits utilizing the custom sandbox telemetry receiver widget below.
5. ENGINEERING ARCHITECTURE DECISIONS (ADRs)
We need to keep API running costs low while ensuring absolute privacy of candidate PII.
- Client-side local WASM LLM
- Direct client-to-OpenAI key calls
- Next.js proxy middleware with sanitization
Next.js proxy middleware with sanitization
- Protects API credentials securely within backend routes
- Enables custom PII scrubbing of names, emails, and phone numbers before routing
- Allows caching common keyword sets
- Slightly higher server-side routing overhead compared to direct client calls
- Requires server hosting logic
Accepted minor server middleware delay to guarantee candidate privacy and secure our LLM access keys.
Integrate client-side local WebGPU llama models to run rewrites completely on-device for zero API costs.
6. DETAILED TECHNOLOGY STACK
7. SECURITY REVIEW & POSTURE
Uploading full resumes to cloud LLMs violates privacy policies and risks exposing candidate contact data.
8. PERFORMANCE METRICS TELEMETRY
Optim:Direct client-side regex parsing bound to text input listeners.
Optim:Streaming response parsing using server-sent event APIs.
9. ENGINEERING CHALLENGES & RESOLUTIONS
AI rewriters often made up fictitious metrics (e.g. "Scaled systems by 90%"), causing candidates to submit false claims.
Root Cause:Standard LLM prompts lacked guidelines restricting the generation of fictitious numerical facts.
Analyzed output history and noted that prompts like "make this sound metric-oriented" led the LLM to invent placeholder percentages.
Restructured prompts to identify existing metrics and rewrite layouts to highlight those numbers, outputting `[Insert Metric]` brackets when no numbers were provided.
Required users to fill in their own metrics manually, adding a small task but ensuring absolute integrity.
Generative AI must be constrained by strict rules when accuracy is critical; it should frame truth, not invent it.
10. SYSTEM LESSONS LEARNED
Always run LLM calls asynchronously; frontend editors must remain interactive during long API waits.
Decoupling scoring logic from writing logic allowed us to provide free instant scoring without incurring LLM costs.
Transparency is key; explaining WHY a score changed builds trust and helps candidates learn.
I would implement a drag-and-drop PDF parser to extract data from existing files instantly.
11. ROADMAP & TECHNICAL DEBT
- Add PDF resume parsing and generation directly in the workspace
- Support multi-language translation and scoring targets
- Provide role benchmarks derived from real LinkedIn job descriptions
12. GITHUB SOURCE EXPLORER
Audit raw repository script configurations directly inside the active terminal workspace.