NOCKER / AI ON-CALL ASSISTANT
PERSONAL PROJECT · 2026
A serverless voice agent on AWS

Prometheus fires an alert. The system calls me. I can ask Claude what's wrong — out loud.

An autonomous voice agent that turns infrastructure alerts into real phone calls with two-way AI conversation. Built end-to-end on AWS-native services with Claude as the language brain.

01

Architecture

TRIGGER Alertmanager INGRESS API Gateway λ COMPUTE Webhook Lambda TELEPHONY Amazon Connect NLU · INTENTS Amazon Lex V2 λ FULFILLMENT Lex Lambda AI BRAIN Bedrock · Claude TTS · POLLY (AMY) Voice synthesis
02

Stack

Telephony
Amazon Connect
Outbound calls + contact flow
NLU
Amazon Lex V2
Speech → intent classification
TTS
Amazon Polly
Amy Neural voice synthesis
AI
Bedrock · Claude
Contextual conversation
Compute
AWS Lambda
Python 3.12 · webhook + fulfillment
Ingress
API Gateway
HTTPS endpoint for webhook
IAM
Roles + policies
Least-privilege per service
Source
Prometheus Alertmanager
Webhook trigger
03

Engineering decisions

Why Lex + Claude, not just Claude
Lex handles fast structured intents (Acknowledge, Escalate, GetDetails) without an LLM call — sub-second response, cents per turn. Free-form questions fall through to FallbackIntent and route to Claude. Best of both: deterministic where it can be, intelligent where it needs to be.
Conversation context in session state
Lex is stateless between turns, so conversation history is serialized into session attributes and passed back to Claude on each turn via the Bedrock Converse API. No external store needed.
Severity filtering at the edge
Webhook Lambda drops info-level alerts before Connect is invoked. Saves call cost, avoids alert fatigue, keeps the system focused on real incidents.
Tradeoff: telephony region matters
Originally built in us-east-1; migrated to eu-central-1 for cheaper Israel calling and access to Israeli DID numbers. Lesson: choose the region by where calls go, not where the team sits.