Overview
A document Q&A app that explores document processing and LLM integration.
The Problem
People didn't want to read whole documents to find an answer. They wanted to ask a question, which means the app has to ingest the document, retrieve the relevant parts, and let an LLM answer from those parts.
What I Built
A React front end uploads documents, a FastAPI backend processes and stores them, and the relevant content gets fed to an LLM API so answers stay grounded in the source.
Architecture
Documents are ingested and stored. Each question retrieves the relevant content and sends it to an LLM API. FastAPI coordinates the whole loop.
Technical Decisions
- Chose FastAPI for a typed, maintainable Python backend.
- Put the LLM integration behind a service layer so providers can be swapped.
- Designed ingestion and retrieval so answers stay grounded in the source document.
Retrieval quality
An answer is only as good as what gets retrieved. Retrieval tuning is what stops hallucinated answers.
API integration
Managing provider contracts, rate limits, and response parsing without it turning into spaghetti.
My Contribution
- Built the React document interface.
- Developed the FastAPI ingestion and retrieval backend.
- Integrated LLM APIs for the Q&A flow.