Download CV

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.

Architecture diagram: a recruiter chats through a Kommunicate widget, which sends messages to an Amazon Lex V2 bot. Lex calls a Python Lambda function for the answer, under least-privilege IAM roles, and each turn is logged in CloudWatch.
The architecture, drawn with the official AWS icons. Open it full size.

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.
Hire meCV