A serverless AI chat application built on AWS. Converse with foundation models through a secure, production-grade interface.
Claude, GPT-OSS, GLM โ pick the right model for every task
Custom system prompts, few-shot examples, and reusable presets
Track tokens, cost, and usage per user and model
Cognito auth, CloudFront CDN, private S3 origin
Lambda + API Gateway โ zero servers to manage
Sign in to start chatting
I'm powered by Amazon Bedrock. Send me a message and I'll respond using Claude.
๐ก Tip: Click โ๏ธ Prompt below to set a system prompt or add few-shot examples.
| Model | Requests | Avg TTFT | Avg Total | Avg Tok/s | P50 | P95 | Cost |
|---|---|---|---|---|---|---|---|
| Loading metrics... | |||||||
Web Application Firewall protecting the CloudFront distribution with AWS managed rule groups and rate limiting.
CDN distribution with behaviors: default serves static files from S3, /api/chat, /api/usage, and /api/metrics route to API Gateway. HTTPS enforced, HTTP/2 enabled. WAF-protected.
Private S3 bucket hosts the static SPA frontend. All public access blocked โ served exclusively through CloudFront via Origin Access Control (OAC).
Shared Cognito user pool with OAuth2 authorization code flow. Browser redirects to Cognito Hosted UI, exchanges code for JWT tokens. No client secret (public SPA client).
Regional REST API with Cognito authorizer validating JWT on every request. POST /api/chat for conversations, GET /api/usage for analytics, GET /api/metrics for performance data. CORS enabled.
Node.js 22 on ARM64 (Graviton). Handles chat (Bedrock ConverseStream + InvokeModel for custom imports), usage tracking (DynamoDB writes), metrics queries, and usage queries (DynamoDB reads + Cost Explorer).
ConverseStream for native models (Claude, GPT-OSS, GLM) and InvokeModel for Custom Model Imports (Qwen 2.5 3B). 7 total models. Real-time TTFT measurement via streaming.
Two tables: genai-chat-usage for monthly aggregates and genai-chat-metrics for per-request performance data with 90-day TTL.
Queried for actual AWS Bedrock billing data. Provides real cost alongside token-based estimates. Data has 24โ48h delay from AWS.
| Model | Requests | Input Tokens | Output Tokens | Est. Cost |
|---|---|---|---|---|
| Loading usage data... | ||||
| User | Requests | Input Tokens | Output Tokens | Est. Cost |
|---|---|---|---|---|
| Switch to "All Users" view | ||||