Skip to content
Danny Alfandi
All work

case study · AI Engineering

AI Knowledge Assistant (RAG)

AI-powered knowledge assistant that enables users to search and ask questions about company documents using RAG.

Role
Solo developer (personal project)
Timeline
August 2026
Type
Personal Project
Stack
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

  1. Flutter app
  2. REST API (Node.js · TypeScript)
  3. retrieve (PostgreSQL + pgvector)
  4. LLM answer + source citations

// Index a document

  1. PDF upload
  2. text extraction
  3. chunking
  4. embeddings
  5. 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.