AI Knowledge Assistant (RAG)
AI-powered knowledge assistant that enables users to search and ask questions about company documents using RAG.
- Solo developer (personal project)
- August 2026
- Personal Project
- Flutter · Node.js · TypeScript · PostgreSQL · pgvector
// request flow Flutter app → REST API (Node.js · TypeScript) → retrieve (PostgreSQL + pgvector) → LLM answer + source citations
Overview
An AI-powered knowledge management and customer support platform built around a Retrieval-Augmented Generation (RAG) pipeline. The platform enables administrators to upload company documents and transform them into a searchable knowledge base through document parsing, text extraction, chunking, embedding generation, and vector-based retrieval.
Users can interact with the knowledge base through a natural-language chat interface and receive context-aware answers based on the indexed documents, including source references for better traceability. The platform also provides authentication, role-based access control, document lifecycle management, conversation history, processing status, error handling, and an administration dashboard.
The project demonstrates the integration of backend engineering, document processing, vector search, AI services, and data processing into a production-oriented knowledge assistant architecture.
The problem
Company knowledge is spread across documents that are slow to search. The goal was an assistant that lets people ask questions in plain language and get answers grounded in those documents, with the sources shown.
What I built
- Authentication and role-based access control
- Document upload and document management
- PDF document processing and text extraction
- Document chunking and knowledge indexing
- Retrieval-Augmented Generation (RAG) pipeline
- Natural-language AI chat with document-based answers
- Source and citation references for generated answers
- Conversation history and chat management
- Admin dashboard for users, documents, and conversations
- Document processing status and error handling
Architecture
// Ask a question
- Flutter app
- REST API (Node.js · TypeScript)
- retrieve (PostgreSQL + pgvector)
- LLM answer + source citations
// Index a document
- PDF upload
- text extraction
- chunking
- embeddings
- PostgreSQL + pgvector
Key decisions
Every answer cites its sources
Answers come back with references to the document chunks they were built from, so users can check where an answer came from.
Indexing status is visible
Each document shows whether it is waiting, processing, indexed or failed, so admins know when new content is ready to be asked about.