Portfolio Chatbot
Retrieval-grounded website assistant that answers portfolio questions with source-linked, streaming responses.
How can I help you today?
OVERVIEW
A chatbot built into the portfolio that answers visitor questions about projects, skills, services, and blog content. Every response is grounded in real site content and linked back to its source. The server processes each question through a multi-stage pipeline that searches the site, checks answer quality, and streams the result word-by-word.
ARCHITECTURE
The server runs a multi-stage pipeline where safety checks and content retrieval operate in parallel, each stage independently guarded so problems stay contained. Retrieval combines semantic search with a local keyword fallback to stay available even when external services are down. A quality layer reviews every response before it reaches the visitor, and a post-processing pass cleans up tone and verifies that claims trace back to cited sources. The client renders the streaming response with formatted text, clickable source links, and session persistence so conversations survive page reloads. Operational telemetry tracks response quality, retrieval confidence, and system health.
FUNCTIONALITY
- Streaming responses that appear word-by-word as the answer is generated
- Every answer grounded in site content with clickable source citations
- Hybrid search combining semantic and keyword retrieval with automatic fallback
- Topic and safety classification that blocks off-topic or adversarial queries
- Multi-model routing that selects the best available model per request
- Adaptive conversation context that scales with dialogue length
- Automated quality scoring with re-generation when answers fall below threshold
- Response tone normalisation and output sanitisation
- Guided fallback responses when retrieval confidence is low
- Proactive escalation to human contact after repeated low-confidence turns
- In-browser session continuity across page reloads and return visits
- Rate and concurrency controls to maintain performance under load
- Automated content index sync to keep answers current with site changes
HOW IT WORKS
When a visitor sends a question, the server validates the request and checks usage limits before resolving what the question is really asking. Safety checks and content retrieval then run in parallel: one path screens for off-topic or adversarial input while the other searches the site index for relevant content and assembles source citations. If retrieval confidence is high the system builds a tailored prompt and streams the model's response back in real time. After the final word, a quality check scores the answer and verifies that every claim maps to a cited source; answers that fall short are regenerated. If confidence is low the system returns guided next steps instead. The conversation persists locally so visitors can pick up where they left off, and site content is automatically re-indexed to keep answers up to date.
OUTCOMES
- Gives visitors immediate, source-linked answers about projects, services, and blog content
- Stays reliable when external services degrade through layered fallback and multi-model routing
- Builds trust by citing sources, scoring answer quality, and verifying claims before delivery
- Keeps conversations safe through topic classification, input screening, and output sanitisation
- Avoids dead-end responses by offering guided next steps and escalation to human contact
- Scales under load with concurrency controls and stays current through automated index sync