Back to Projects

AvaDocs — AI Research Assistant

Featured

RAG-powered document analysis with a personality

2025OngoingPersonal ProjectFull-stack Software Engineer
Next.jsTypeScriptReactDjangoPostgreSQLRedisCeleryAWSEC2

Problem Statement

Generic chatbots hallucinate and can't be trusted to answer questions about specific documents. Users need a way to have a focused, grounded conversation with their own PDFs — without having to copy-paste content into a chat window.

Solution

Built a complete RAG pipeline on Django: PDFs are ingested, chunked, and embedded into a vector store. Hybrid search (vector + keyword) retrieves the most relevant passages at query time, which are injected into a structured LLM prompt. Responses stream in real time via SSE. A persistent user memory system lets Ava remember facts across sessions.

Impact

Deployed publicly as an interactive portfolio demo. Ava can summarize documents, compare multiple PDFs, surface key insights, and identify factual inconsistencies — all grounded in the actual content, with citations shown in the UI.

Technical Highlights

  • Built end-to-end RAG pipeline: ingestion → chunking → embedding → hybrid retrieval → generation
  • Streaming LLM responses via Server-Sent Events for real-time output
  • Hybrid search combining pgvector similarity and keyword ranking
  • Persistent user memory (UserFact model) injected into every prompt
  • Google OAuth integration with automatic name context for personalized greetings
  • Celery + Redis async task queue for non-blocking document processing
  • Nightly document cleanup task to keep storage lean on the demo server

Key Metrics

5 (guest) / 10 (auth)
Document Limit
Hybrid (vector + keyword)
Search
EC2 + Docker
Deployment

Future Improvements

  • Source text highlighting in the original PDF
  • Multi-turn reasoning with explicit chain-of-thought
  • Support for non-PDF document types (DOCX, CSV)
  • Per-document conversation threads