Projects
Work that shows the full stack
Detailed builds across multi-agent systems, RAG, conversational LLMs, and computer vision — each with source code on GitHub.
RAG System + Retrieval Evals
A production-style document Q&A RAG that retrieves evidence with multiple strategies, answers with source citations, and ships an evaluation table comparing dense, BM25, and hybrid retrieval head-to-head.
- Full RAG pipeline: ingest (PDF/MD/TXT), chunking, local embeddings, Chroma persistence, and cited answers via free Groq (or Hugging Face).
- Compares dense, BM25, hybrid (RRF), and hybrid+rerank retrieval with Hit@k, MRR, context recall/precision, and faithfulness metrics.
- Shipped with a Typer CLI and FastAPI /ask endpoint so you can query documents and run strategy bake-offs from one codebase.
PythonRAGChromaDBBM25GroqFastAPIEvals
TripMate AI — Multi-Agent Travel Planner
A production-style multi-agent travel planner where specialized AI agents collaborate to search flights, hotels, and weather, assess budgets, and build itineraries — with supervisor routing, guardrails, and human approval before the final plan.
- Orchestrates Flight, Hotel, Weather, Budget, and Itinerary agents with a LangGraph supervisor that selects only the specialists needed for each query.
- Connects tools through MCP (Tavily, AviationStack, OpenWeather), enforces input guardrails, and pauses for human-in-the-loop approval before final synthesis.
- Shipped with a FastAPI web UI, PostgreSQL/in-memory checkpoints for thread state, and a Docker deploy path for VPS hosting.
PythonLangGraphMCPGroqFastAPIAgentic AI
RAG Book Assistant
A document Q&A application that lets users ask natural-language questions over PDF content and receive grounded, context-aware answers powered by Retrieval-Augmented Generation.
- Implements the full RAG pipeline: document loading, semantic chunking, HuggingFace embeddings, and persistent Chroma vector storage.
- Uses similarity and MMR retrieval to pull the most relevant passages before generating answers with a Mistral LLM.
- Shipped with a Streamlit interface for interactive PDF upload, querying, and transparent, context-grounded responses.
PythonLangChainChromaDBMistralStreamlitRAG
Mood-Adaptive AI Chatbot
An interactive conversational AI that adapts tone and personality in real time while retaining session memory — useful for more natural, context-aware dialogue experiences.
- Dynamic system-prompt personality modes (for example calm, humorous, or assertive) that reshape response style on demand.
- Session-based conversation memory so follow-up questions stay coherent across turns.
- Delivered as both a CLI prototype and a Streamlit web app, with comparisons across Mistral, DeepSeek-R1, and Groq for quality and latency.
PythonLangChainMistralStreamlitLLMs
Sports Player Tracking Pipeline
A computer vision pipeline that detects and tracks players in sports video for downstream athletic analytics, producing annotated output with stable identities across frames.
- Combines YOLOv8 person detection with ByteTrack multi-object tracking for persistent player IDs.
- Uses OpenCV for frame processing, visualization, and export of fully annotated output video.
- Designed for broadcast-style footage where reliable on-field tracking matters for movement and performance analysis.
YOLOv8OpenCVByteTrackPythonComputer Vision