AI-Powered Job Search & Interview Coach
Inspiration
The job search process can be daunting—tailoring resumes, finding relevant openings, and preparing for interviews is time-consuming and overwhelming. We wanted to streamline and simplify this journey by building an AI-powered platform that assists job seekers at every stage.
Our inspiration came from:
- The frustration of repetitive applications and generic cover letters.
- The need for real-time feedback during interview practice sessions.
- The potential of AI to personalize and enhance the job-seeking experience.
By combining resume parsing, job matching, cover letter generation, and interview coaching, we aimed to create a one-stop solution for job seekers.
What It Does
Our platform offers an end-to-end job search assistant with the following features:
Resume Parsing:
- Users upload their resume, and the platform automatically extracts skills, experience, and education using Azure Form Recognizer aka Azure Document Intelligence.
- Parsed data is displayed on the dashboard for quick review.
Job Recommendations:
- The platform suggests relevant job listings by matching resume details with job titles fetched via a public job API.
- Users can bookmark jobs, search, and filter results.
AI-Powered Cover Letter Generator:
- Users can generate personalized cover letters with a single click using Llama.
- The AI tailors the cover letter to the user's resume and the job description.
Interview Coaching:
- Users can practice answering interview questions in real-time.
- Speech-to-text transcription captures their responses.
- A session summary displays all answers with feedback.
How We Built It
Tech Stack
- Frontend: Next.js (TypeScript), TailwindCSS, Shadcn Components
- Backend: Drizzle ORM, Neon PostgreSQL
- AI Services:
- Azure Document Intelligence → Resume parsing
- Llama using Groq → Cover letter generation
- Azure Speech SDK → Real-time transcription
- Azure Document Intelligence → Resume parsing
- Authentication: Next-Auth.js with JWT session handling and OAuth.
Development Process
1. Authentication & Dashboard:
- Implemented Next-Auth.js for secure authentication with PostgreSQL session handling.
- Built a responsive dashboard featuring resume uploads, job widgets, and navigation links.
2. Resume Parsing:
- Integrated Azure Document Intelligence for parsing PDF and DOCX resumes.
- Extracted and displayed key resume information after formating it through Llama.
3. Job Recommendations:
- Fetched job listings of past 7 days from a public job API.
- Matched resume skills with job title.
- Built a dynamic job listing UI with search, filter, and bookmark options.
4. AI-Powered Cover Letter Generator:
- Used Llama with GroqAPI to generate tailored cover letters.
- Displayed the cover letter in a preview section with copy, edit and export as pdf options.
5. Interview Coaching:
- Implemented speech-to-text transcription using Azure Speech SDK.
- Displayed feedback with a session summary.
Challenges We Ran Into
1. Resume Parsing Accuracy:
- Inconsistent resume formats made extraction difficult.
- We optimized the Document Intelligence configurations to improve parsing accuracy.
2. Real-time Transcription Issues:
- Capturing and displaying transcribed responses smoothly was tricky.
- We fine-tuned the speech-to-text parameters and added buffering to prevent lag.
3. API Rate Limits:
- Public job APIs had rate limits, which restricted the number of searches.
Accomplishments That We're Proud Of
Seamless AI Integration:
- Successfully combined Azure Document Intelligencer, Llama, and Speech SDK into a single platform.
Dynamic Job Matching:
- Implemented a dynamic job listing system with resume-based recommendations(job title).
Real-time Feedback:
- Delivered feedback on interview performance through sentiment analysis through Llama.
User-Centric Design:
- Built a clean, responsive, and intuitive UI using TailwindCSS and Shadcn components.
What We Learned
AI Service Optimization:
- Fine-tuning AI models is essential for accuracy.
- Improved resume parsing reliability by refining Azure configurations.
Efficient State Management:
- How to manage states across the application.
Hackathon Execution:
- We learned how to prioritize features and manage time effectively under tight deadlines.
What's Next
Enhanced Job Search:
- Integrate LinkedIn’s API for real-time job recommendations with proper skill matching.
- Add advanced filtering options (e.g., salary range, experience level).
Smart Interview Analysis:
- Add emotion and confidence detection during interview sessions.
- Provide score-based feedback with improvement suggestions.
Full Deployment & User Testing:
- Deploy the platform on Vercel for public access.
- Gather user feedback for further improvements.
How I used Github Copilot in VSCode
Accelerating Development and resolving bugs
- While coding in Typescript I ran into many type errors and with copilot it was easy to work my way through it by inferring the types automatically using copilot.
Generate Boilerplate code
- Copilot also helped me to generate the initial code through prompts which I can work with.
More insights on errors
- The copilot also had very deep insight of the errors I ran into which help me solve them quickly and efficiently.
Built With
- azure
- documentintelligence
- drizzleorm
- jwt
- linkedinjobsearchapi
- neonpostgresql
- next-auth.js
- nextjs
- oauth
- rapidapi
- shadcn
- speechservice
- tailwind
- typescript
- zod
Log in or sign up for Devpost to join the conversation.