🧠 Shortlistr – AI-Powered Resume Screening

🔥 Inspiration

HRs have to manually go through hundreds of resumes for every job opening. This is time-consuming, repetitive, and prone to bias. I wanted to automate this process and make it smarter and faster using AI.


🚀 What it does

Shortlistr takes a job description and a candidate’s resume, then:

  • Analyzes the resume with the job description
  • Calculates a match percentage
  • Extracts the candidate’s email
  • Lets HR send a personalized email to the candidate — all in one click

🛠️ How we built it

  • Frontend: Built with React.js and hosted on AWS S3
  • Backend: Resume analysis logic written in Node.js, deployed on AWS Lambda
  • Mailing: Email system runs on an EC2 instance using AWS SES
  • AI: Resume/job match is powered by Gemini API (Google Generative AI)
  • Used Busboy for parsing file uploads and pdf-parse for extracting text from PDFs

🧱 Challenges we ran into

  • Parsing multipart form data in Lambda (no Express!)
  • pdf-parse failing silently on invalid file buffers
  • Handling CORS between S3 frontend and Lambda
  • AWS SES sandbox limitations (can only send to verified emails)

🏆 Accomplishments that we're proud of

  • Built and deployed a fully working end-to-end system in under 48 hours
  • Made everything serverless and production-grade with AWS
  • Integrated AI to make resume screening intelligent, not just keyword-based

📚 What we learned

  • Working with AWS Lambda without Express.js
  • Handling file uploads and buffers in serverless environments
  • How to use AWS SES for automated emails
  • How to design a simple, useful UX that solves a real-world bottleneck for HRs

🔮 What's next for Shortlistr

  • Bring the SES setup out of sandbox to enable emailing any candidate
  • Add bulk resume upload and batch screening
  • Track email delivery and open status
  • Provide recommendations to HRs based on candidate fit
Share this project:

Updates