Case study · AI-powered knowledge assistant
VenueIQ
A RAG application that answers questions from a user-defined website knowledge base, with monitoring for usage, latency, and cost.

Overview
VenueIQ is a retrieval-augmented generation (RAG) application that allows users to ask questions about website content through a conversational interface. I built the system to retrieve information from a user-provided knowledge base and generate answers grounded in that content.
Role. Full-stack development and AI integration
The problem
Finding specific information on a website often requires navigating multiple pages and manually searching for relevant details.
General-purpose AI assistants can also produce plausible answers that aren't supported by the website content a user needs. VenueIQ addresses both problems by connecting conversational search to a defined knowledge source.
The solution
I developed a RAG chatbot that uses user-provided website links as the basis for its knowledge base.
Knowledge ingestion
Accept website links and process their content into searchable material.
Semantic retrieval
Generate embeddings and use Chroma to find relevant content for a question.
Grounded responses
Use retrieved context with OpenAI to generate answers based on the supplied knowledge.
Conversational interface
Let users ask natural-language questions instead of manually searching pages.
Usage monitoring
Track AI usage, request latency, and estimated API costs.
Engineering
The architecture separates knowledge ingestion from question answering, with Chroma providing persistent vector storage for retrieval.
Website URLs
Links supplied by the user
Ingestion pipeline
Extract content → Split into chunks → Generate embeddings
Chroma vector store
Persist searchable vector representations
User question
Natural-language query in the Next.js chat UI
Semantic retrieval
Find relevant knowledge-base content in Chroma
FastAPI + LangChain + OpenAI
Pass retrieved context to the language model
Chat response
Answer grounded in retrieved content
The frontend uses Next.js, while FastAPI exposes the backend chat functionality. LangChain coordinates retrieval and model interaction, and Chroma stores the searchable knowledge representations.
Technical decision
Retrieve first. Generate only from retrieved context.
A general-purpose model will invent details that are not on the site. I split ingestion from answering: URLs become chunked embeddings in Chroma, and each question retrieves those chunks before OpenAI sees them. The model is instructed to answer only from that context. Monitoring usage, latency, and estimated cost made the operational cost of that extra retrieval step visible.
Challenges
Reducing AI hallucinations
Language models can confidently generate information that isn't supported by their sources. I designed the chatbot to retrieve relevant context and instructed the model to answer only using the provided knowledge base. This reduces reliance on unsupported model knowledge, although it cannot guarantee every answer is correct.
Building a reliable ingestion-to-retrieval pipeline
The chatbot depends on successfully processing website content and retrieving relevant chunks. I worked with content extraction, chunking, embeddings, and persistent Chroma storage to connect ingestion with the chat workflow.
Handling external AI service failures
During development, I encountered API configuration, rate-limit, and quota errors. These highlighted the importance of validating configuration, handling upstream failures, and monitoring usage when building applications around external AI services.
Balancing usefulness and cost
Each question can trigger retrieval and model inference. I added monitoring for usage, latency, and estimated cost to make the system's operational behavior more visible.
Outcome
- Built a working RAG chatbot using a user-defined website knowledge base.
- Enabled natural-language access to ingested website content.
- Integrated semantic retrieval with LLM-based response generation.
- Added monitoring for AI usage, latency, and estimated costs.
Engineering takeaway
VenueIQ demonstrates practical AI engineering beyond a basic API integration: knowledge ingestion, vector search, context-grounded generation, error handling, and observability.
Project navigation
All case studies
- Sermon Library
- Kingdom Discipleship App
- VenueIQCurrent
- WeAreCareReps