Inspiration
Job seekers spend hours tweaking their résumés for each opening, yet about 75 % are filtered out by Applicant Tracking Systems (ATS) before a human ever reads them. After helping friends—and myself—struggle with this pain point, I set out to automate résumé tailoring with AI so candidates can focus on interviewing, not formatting.
What We Learned
- Semantic analysis beats simple keyword matching. Using embedding-based similarity models greatly improves skill extraction from job posts.
- Prompt design matters: temperature, top-p, and system instructions drastically change ATS-ready keyword density.
- Continuous A/B testing with real job applications shortens feedback loops and guides feature prioritization.
- Privacy-first architecture (client-side parsing where possible) is essential for user trust.
How We Built It
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | React (Vite) + Tailwind CSS | Single-page app with drag-and-drop résumé upload |
| Backend | Node.js (Express) + OpenAI/Claude APIs | NLP, skill extraction, résumé regeneration |
| ATS Scoring | Elasticsearch (BM25) | Ranks how closely the tailored résumé matches the JD |
| Storage | Supabase Postgres | Secure storage for user docs and analytics |
| CI/CD | GitHub Actions → Vercel | Zero-downtime deployments on every merge |
Pipeline
- Ingest job description → tokenize & embed
- Extract required skills via domain-tuned LLM prompt
- Compare to user résumé; identify gaps & synonyms
- Regenerate résumé sections with contextual prompts
- Score and preview: show ATS score before download
Challenges & Solutions
| Challenge | Attempted Fixes | Final Solution |
|---|---|---|
| LLM hallucinations | Prompt tweaks | Rule-based post-filters + fact-check against source résumé |
| Keeping PDF under 200 KB | Compression libraries | Streamlined fonts and vector graphics during export |
| GDPR-grade data privacy | Manual cleanup | End-to-end encryption + auto-delete after 24 h |
| Cold-start latency on free tier | Adding compute | Edge caching for embeddings and memoization |
Presicio Resume now lets candidates tailor a résumé in under 60 seconds, boosting interview rates while slashing prep time. Next milestones include multilingual support and one-click LinkedIn optimization.
Log in or sign up for Devpost to join the conversation.