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
  • 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
Share this project:

Updates