Skip to content
AI Automation

92% of questions answered from knowledge base with zero hallucination incidents in 3 months

Portfolio AI Assistant

RAG-based chatbot with content-type-aware chunking, confidence scoring, and streaming responses for hallucination-free conversations.

3.2 sec responseHeadline metricAI Automation
7 weeksDelivery shapeScoped execution
9Core technologiesPurposeful stack
FeaturedPortfolio signalCase study

The problem

Portfolio websites are static. Visitors who want specific information have to read through multiple pages or fill out a contact form and wait. This creates friction for recruiters and potential clients evaluating multiple candidates.

The system

Built a custom RAG pipeline with content-type-aware chunking (paragraph-level for bio, per-project for projects, category-level for skills, QA pairs for FAQs). Implemented confidence scoring with fallback to contact form when retrieval relevance is below threshold. Used streaming responses for perceived performance.

Architecture

React + Python FastAPI + Custom RAG pipeline + Pinecone + OpenAI GPT-4

The outcome

92% of questions answered from knowledge base with zero hallucination incidents in 3 months

  • Average response time: 3.2 seconds (target was 5)
  • 92% of questions answered from knowledge base
  • Zero hallucination incidents in 3 months of operation
  • 65% of visitors engaged with the assistant
  • 15% of engagements led to contact form submission
  • Top questions: technologies, availability, pricing

Tradeoffs and lessons

RAG quality depends on chunking strategy — content-type-aware chunking dramatically improved retrieval precision. Confidence thresholds prevent hallucinations better than prompt instructions. Streaming responses transform perceived performance — a 4-second streaming response feels faster than a 2-second batch response.

Start a project

Need a similar system built?

Share the business problem and constraints. I will help identify the smallest dependable system that can create value.

Start a projectSend a message