ARIA : RAG Chatbot by Vaishali AggarwalARIA : RAG Chatbot by Vaishali Aggarwal

ARIA : RAG Chatbot

Vaishali Aggarwal

Vaishali Aggarwal

ARIA: Full-stack RAG chatbot over your own documents

Overview

Most RAG tutorials explain the individual pieces without showing what it feels like to connect them into a usable application. ARIA was built to explore that gap — from document ingestion and embeddings to retrieval, chat state, and frontend/backend synchronization.
The result is a full-stack chatbot where users can upload documents, ask questions about them, and receive responses grounded in the uploaded content.

Links

Interactive Case Study Link: Case Study
Live Preview Link: Aria RAG Bot

Highlights

Document ingestion: Upload and delete documents, validate files, extract content, chunk documents, and prepare them for retrieval.
RAG-powered chat: User queries retrieve relevant document chunks before the LLM generates a contextual response.
Per-session isolation: Each user session gets an isolated ChromaDB collection so uploaded documents remain separated.
Shared document state: React Context keeps document state synchronized across pages and centralizes upload, deletion, loading, and error handling.
Request cancellation: AbortController allows users to manually cancel an in-progress chat request.
Optimistic UI: UI updates are handled optimistically where appropriate to make uploads and interactions feel more responsive.
Dynamic greetings: The initial greeting is generated dynamically using the LLM rather than being hardcoded.
Admin document management: A dedicated admin page makes it easier to inspect and manage uploaded documents.

Technical Snapshot

React + FastAPI + LangChain + ChromaDB and RAG workflow

Outcome

ARIA gave me hands-on experience building a RAG application beyond a notebook — connecting document ingestion, embeddings, vector storage, retrieval, LLM responses, session isolation, and frontend state into one application.
Like this project

Posted Oct 2, 2026

Upload documents, ask questions, get answers grounded in them. React + FastAPI, LangChain, ChromaDB with per-session isolation.