Inspiration

Applying for jobs can be overwhelming, especially when resumes are screened by Applicant Tracking Systems (ATS) before a human even sees them. Many qualified candidates are filtered out due to formatting, keyword mismatches, or structural issues. We wanted to build a tool that helps job seekers understand how well their resume aligns with ATS algorithms and gives instant feedback — all powered by serverless technology.

What it does

Smart Resume Checker is a serverless web application that allows users to: Upload their resume in PDF format Automatically extract text using Amazon Textract Analyze content for ATS-friendly keywords and formatting Return an ATS score and feedback Give users the option to store their resume or delete it from the cloud Retrieve past resumes tied to their account It’s a fully automated, secure, and intelligent resume screening system designed to help job seekers optimize their applications in seconds.

How we built it

We used a Flask backend hosted on AWS Lambda via Zappa, integrated with multiple AWS services: Amazon S3 for secure storage of uploaded resumes Amazon Textract to extract text from PDF documents Custom Python logic to analyze resumes for ATS keywords and structure Lambda triggers for smart resume deletion and management Our frontend (originally built with React) was removed for a lean backend-only deployment. We tested the entire flow using Postman and local Flask servers, then deployed the backend to AWS using Zappa for scalability.

Challenges we ran into

Handling Textract's JSON output required parsing nested data structures effectively Asynchronous behavior in Lambda and S3 needed careful coordination to ensure smooth file handling Managing secure temporary storage and deletion logic without risking data persistence Debugging Lambda functions directly in AWS Console with limited logging made real-time testing tricky Balancing file uploads, scoring logic, and API responses in a stateless, serverless setup

Accomplishments that we're proud of

Successfully built and deployed a production-ready serverless resume analyzer Integrated AWS Textract with custom NLP logic to simulate ATS scoring Built a privacy-conscious resume flow with temporary or persistent storage based on user choice Transitioned from full-stack to minimal backend while keeping all key functionality Delivered clean documentation and tested endpoints despite time and tooling limitations

What we learned

How to build event-driven serverless applications using Flask + AWS Lambda Practical experience using Amazon Textract for document understanding The value of clean API design and consistent folder structuring in cloud-first projects How to test Lambda functions locally and via Zappa deployment Handling file streams, MIME types, and large file uploads through APIs

What's next for Smart-Resume-Checker

Rebuild the frontend for a full UI experience Offer a resume improvement assistant that suggests keyword insertions or layout tips

Built With

  • apigateway
  • cloudfront
  • evenettriggering
  • eventdriverarchitecture
  • flask
  • lambda
  • python
  • react
  • s3
  • textract
Share this project:

Updates