Inspiration
Applying to jobs is messy. Candidates jump between job boards, resumes, notes, spreadsheets, and cover letter drafts, often without knowing whether their resume actually matches the role. ApplyIQ was inspired by that friction: we wanted to build a tool that makes each application feel less like busywork and more like a focused, measurable process.
What It Does
ApplyIQ lets users upload a resume, paste a job description or job URL, and instantly create a tracked application. The app parses resume content, extracts job metadata, scores the fit between the resume and role, identifies strengths and gaps, and generates tailored resume bullets plus a cover letter.
The match score combines keyword overlap and semantic similarity:
$$\text{match score} = 0.6K + 0.4S$$
where $K$ represents skill/keyword overlap and $S$ represents semantic similarity between the resume and job description.
Users can then manage applications on a Kanban-style tracker across stages like Wishlist, Applied, Interviewing, and Offer.
How We Built It
We built ApplyIQ as a full-stack web app with a React and Vite frontend, a FastAPI backend, and PostgreSQL for persistent storage. The backend uses SQLAlchemy, Alembic migrations, Pydantic models, session-based authentication, and Google OAuth.
For intelligence features, ApplyIQ uses:
- Resume parsing & job description extraction
- Fuzzy skill matching & sentence-transformer similarity
- Gemini-powered tailoring (constrained so generated bullets and cover letters stay grounded in the user's real resume instead of inventing experience)
Challenges We Ran Into
The biggest challenge was balancing automation with trust. Resume tailoring is only useful if it does not hallucinate, so we added strict grounding rules for generated content. Another challenge was turning messy inputs—like PDFs, DOCX files, pasted job descriptions, and job URLs—into structured data that could be scored and tracked consistently.
We also had to make the product feel like one smooth workflow instead of several disconnected tools: resume upload, job capture, scoring, tailoring, exporting, and tracking all needed to connect cleanly.
What We Learned
We learned that AI is most useful in the job search when it acts as a careful assistant, not a magic writer. Scoring, gap detection, and grounded rewriting are far more valuable when they help users understand why a resume fits or misses a role.
We also learned how crucial product flow is: technical features deliver the most value when they reduce context switching and help users keep momentum.
What's Next for ApplyIQ
- Interview Prep: AI-generated tailored interview questions based on job gaps.
- Calendar Reminders: Follow-up tracking and interview schedules.
- Richer Analytics: Aggregate insights across all submitted applications.
- Resume Version History: Track which resume iterations yield higher match scores over time.
Built With
- beautiful-soup
- css3
- docker
- fast-api
- google-oauth
- javascript
- pdfplumber
- postgresql
- python
- react
- spacy
- sqlalchemy
- vite
Log in or sign up for Devpost to join the conversation.