Portfolio RAG Chatbot
Explore my work through AI-powered conversations
A retrieval pipeline built end to end rather than assembled from a managed service: document chunking, Titan embeddings, OpenSearch k-NN search with cosine re-ranking, and grounded generation by Claude Haiku 4.5 on Amazon Bedrock, with citations back to every source document.
It started as a managed Bedrock Knowledge Base. Sixty-one hours of billing exposed a projected ~$350/month run rate, so I rearchitected it onto a hand-built pipeline — avoiding roughly $4,200/year in projected cost and landing at ~$26–30/month.
Technology Stack
Serverless Architecture
Lambda Function URLs instead of API Gateway
Hallucination Safeguards
Answers stay grounded in retrieved text and cite it
Production Security
Cognito JWT verified server-side, 20 queries/user/day
k-NN + Re-ranking
OpenSearch k-NN retrieval, re-ranked by cosine similarity
Serves the RAG API through Lambda Function URLs instead of API Gateway, removing per-request gateway cost and keeping the request path simple.
This AI-powered chatbot can answer questions about my projects, skills, and AI workflow methodology. It uses Retrieval-Augmented Generation (RAG) to provide accurate, contextual responses based on my portfolio content.
Frontend
- Next.js 15 App Router + TypeScript
- Tailwind CSS + shadcn/ui
- Cognito auth, JWT verified server-side
Models
- Claude Haiku 4.5 on Amazon Bedrock
- Amazon Titan text embeddings
- Model pinned server-side, not client-selectable
Retrieval
- OpenSearch k-NN, cosine re-ranking
- Answers cite their source documents
- Degrades visibly instead of guessing
Created by Simon Cheam