Serverless AI Recruiter Assistant
An Amazon Lex V2 chatbot with a Python Lambda fulfilment handler that answers recruiter questions about my work, inside the AWS Free Tier.
- When
- February 2026
- Context
- Personal project
- Role
- Solo build
- Amazon Lex V2
- AWS Lambda
- Python 3.9
- IAM
- CloudWatch
The problem
A static portfolio makes a recruiter hunt for answers. They want to ask directly: do you know AWS, what have you built, can I see the projects.
Loads from YouTube when you press play. Watch on YouTube.
Conversation design
- A Lex V2 bot with six intents covering greetings, skills, projects, certifications, contact and a fallback.
- A Python 3.9 Lambda handler returns the fulfilment response for each recognised intent.
Operations
- Least-privilege IAM between Lex, Lambda and logs.
- CloudWatch logs carry the intent and confidence of each turn, which is how both bugs below were found.
What went wrong, and what fixed it
- A silent welcome: the bot opened with nothing until an onInit trigger fired the greeting intent on session start.
- Natural language confusion between similar questions, fixed by raising the NLU confidence threshold to 0.70 and writing a real fallback response.
The result
- Runs inside the AWS Free Tier, with no server to keep warm.
Keep reading