Inspiration We noticed how time-consuming and inefficient it is for HR teams to manually screen hundreds of resumes. Many talented candidates are overlooked simply due to volume. We wanted to build a solution that could automate resume analysis and match candidates based on skills, using the power of serverless AWS technologies and AI tools.

What it does

  • Automatically triggers when a resume is uploaded to an S3 bucket
  • Extracts resume content using Amazon Textract
  • Compares the extracted skills with a predefined job description
  • Calculates a match score using keyword-based AI logic
  • Stores all results in Amazon DynamoDB for easy retrieval and future processing

How we built it

  • Built the backend logic as an AWS Lambda function in Python
  • Used Amazon S3 to upload and store resumes, and to trigger the Lambda
  • Integrated Amazon Textract to extract raw text from resumes in .pdf and .png formats
  • Developed a lightweight scoring engine to compare candidate skills against the JD
  • Stored processed data including match scores and metadata in DynamoDB
  • Used CloudWatch for logging and monitoring function activity

Challenges we ran into

  • Textract was extremely picky with file formats — we had to refine our resume inputs to ensure compatibility
  • Debugging Lambda logs and managing IAM roles across services took effort
  • Designing a meaningful scoring system that balances simplicity with accuracy was tricky
  • Making sure the whole flow remained truly serverless and scalable

Accomplishments that we're proud of

  • We successfully built a fully serverless resume screening system using only AWS tools
  • Overcame Textract-related input issues and built a working PDF/image pipeline
  • Achieved seamless integration between S3, Lambda, Textract, and DynamoDB
  • Laid the foundation for a production-ready screening system for HR teams
  • Learned how to create scalable serverless apps that use real AI tools

What we learned

  • In-depth knowledge of AWS Lambda event handling and trigger flows
  • Hands-on with Amazon Textract, including its limitations and practical usage
  • How to design serverless logic that’s modular, monitorable, and efficient
  • The importance of error handling, proper logging, and permissions in cloud applications
  • Building useful, real-world solutions with minimal infrastructure

What's next for HR Resume Screener (AI + Serverless)

  • Add Amazon Comprehend to extract named entities (skills, locations, experience) for smarter scoring
  • Support dynamic job description input from HR teams
  • Build a React or Angular dashboard UI to browse shortlisted candidates
  • Integrate with email or Slack notifications for candidate alerts
  • Make it a plug-and-play tool for small companies and startups

Built With

Share this project:

Updates