Designed a FastAPI backend to handle document uploads, ingestion, vector storage, and question-answering endpoints
Implemented document parsing, chunking, and embedding using LangChain and OpenAI embeddings
Stored document vectors in a local ChromaDB vector database for fast similarity search
Built a LangChain QA chain to retrieve relevant document chunks and generate answers via an LLM
Streamed LLM responses token-by-token back to the frontend for real-time interaction
Developed a React + Vite frontend with Tailwind CSS for drag-and-drop uploads and question submission
Added a vector store management interface to reset and manage stored documents during testing
Implemented a full backend test suite using pytest, httpx, and pytest-asyncio