Overview
This project integrates a custom AI assistant into my portfolio, giving visitors an interactive way to learn about my work. By leveraging retrieval-augmented generation and a serverless architecture, I built a responsive chatbot that answers questions from my actual portfolio content while running on free-tier infrastructure.
Key features
- Vector-based knowledge retrieval using Pinecone for accurate information matching
- Natural language processing powered by Cohere’s command-r model
- Serverless implementation with Netlify Functions for efficient, cost-effective deployment
- Responsive UI in two flavors: dedicated chat page and floating widget
Technical details
Vector database
- Pinecone for efficient semantic search
- Embeddings generated via Cohere’s
embed-english-v3.0model - Cosine similarity matching to find relevant information for each query
Serverless architecture
- Netlify Functions for backend processing and API integration
- Stateless design with conversation history maintained client-side
- Health-check endpoint so future breakage surfaces immediately
How it works
- User input is converted to an embedding vector via Cohere’s embedding API
- The embedding is used to query Pinecone for the most relevant portfolio chunks
- Retrieved context is passed to Cohere’s chat completion API along with the query
- The assistant is instructed to ground every claim in the retrieved context
- The response streams back to the UI








