DorrianAI — White-Label AI Consultant

"White-label AI support platform with local-first deployment options"

A multi-tenant AI support platform designed to help teams answer queries faster without giving up control of their knowledge, tone, or data. Combines grounded RAG responses, email parsing, confidence scoring, role-based controls, and full brand customisation in one production-minded product.

Role
AI Systems Developer
Timeline
2025 — Ongoing
Status
In Development
DorrianAI chat interface showing a grounded AI response with supporting sources
DorrianAI's real-time chat interface showing a RAG-powered response with source citations and confidence scoring

Support teams lose time repeating answers while critical knowledge stays trapped

In most organisations, support staff spend a large share of their day answering questions that have effectively been answered before. The information exists somewhere in documentation, policies, inboxes, or old tickets, but finding the right source and turning it into a usable answer is still manual work.

That creates slow response times, inconsistent wording, and a heavy dependency on experienced team members who know where everything lives. New starters take longer to ramp up, senior staff get pulled into repetitive queries, and valuable operational knowledge remains scattered instead of becoming a scalable asset.

Existing AI tools often create a new problem: they are either too generic, too expensive, or too risky for teams that care about accuracy and data handling. DorrianAI was designed to fill that gap with a production-grade, configurable, self-hostable assistant that can be tailored to different organisations without losing control.

A safer, more useful way to introduce AI into support workflows

DorrianAI uses Retrieval-Augmented Generation (RAG) to ground responses in an organisation's real documentation, policies, and prior answers. Instead of acting like a generic chatbot, it retrieves relevant context, assembles it intelligently, and produces a response that reflects the team's own knowledge base.

The goal is not to replace human judgement but to remove repetitive effort. Technicians get faster draft answers, visible sources, confidence scoring, and clarification prompts when a query is ambiguous. That makes the system more useful operationally and much safer than tools that simply generate text and hope for the best.

Built to be deployable, governable, and commercially reusable

DorrianAI is positioned as more than a chatbot demo. The build focuses on the things organisations actually care about: grounded answers, configurable permissions, deployment flexibility, and a product structure that can be reused across multiple clients without rewriting the platform each time.

7-stage
Grounded RAG Pipeline
2,732/s
Email Parsing Throughput
9
Intent Routes
3-tier
RBAC Model

Why this matters

Local-first model support, white-label branding, and tenant-aware controls make the platform far closer to a real product foundation than a one-off AI prototype.

Seven-stage pipeline built for grounded responses

Query Processing Pipeline
User Query
Email Parsing
Query Analysis
Intent Classification
Vector Retrieval
Context Assembly
LLM Generation
Confidence Scoring
Response + Citations
Full-Stack Architecture
React + TypeScript (Vite)
FastAPI (Python)
Ollama / Azure OpenAI
ChromaDB (Vector Store)
|
PostgreSQL (planned)
|
Docker + Netlify

Built for production from day one

React + TypeScript + Vite

Type-safe frontend with fast HMR development. Component-based architecture makes the white-label system possible — swap theme tokens and the entire UI transforms to match any brand.

FastAPI (Python)

Async Python backend with automatic OpenAPI docs, dependency injection, and native async support. Handles concurrent chat sessions, document processing, and AI inference without blocking.

Ollama (Local-First AI)

Local LLM inference means zero API costs for development and testing, full data privacy, and no vendor lock-in. Azure OpenAI support provides a cloud fallback for production deployments that need scale.

ChromaDB (Vector Store)

Embedded vector database for knowledge base indexing. Documents are chunked, embedded, and stored locally — retrieval is fast, deterministic, and doesn't require external services.

Docker

Full Docker Compose setup for one-command deployment. Frontend, backend, AI model, and vector store all containerised — consistent environments from development to production.

3-Tier RBAC

Developer, Admin, and User roles with granular permissions. Developers configure AI behaviour; Admins manage users and knowledge bases; Users interact with the assistant. Multi-tenant isolation ensures organisations never see each other's data.

Capabilities designed for real support operations

Email Chain Parsing

Paste an email thread and DorrianAI automatically extracts the core question, identifies the sender's context, and strips formatting noise. It understands forwarded chains, reply patterns, and signature blocks.

Clarifying Questions

When a query is ambiguous, the system asks targeted clarifying questions before generating a response. This reduces incorrect answers and trains technicians to gather the right information upfront.

Confidence Scoring

Every response includes a confidence indicator (High / Medium / Low) based on the quality and relevance of retrieved sources. Low-confidence responses are flagged for human review, preventing hallucinations from reaching end users.

Draft Email Generation

One click generates a professional draft email response based on the AI's answer. Technicians review, edit if needed, and send — cutting response times from minutes to seconds.

Complete White-Label

Logos, colours, fonts, tone of voice, system prompts — everything is configurable per tenant. Deploy for a law firm on Monday and a hospital on Tuesday, each with its own branded experience.

AI Memory & Behaviour

Configure temperature, retrieval thresholds, response length, personality, and domain-specific instructions per tenant. The AI adapts its communication style to match the organisation's voice.

Screens from the working multi-tenant product

These screenshots come from the live demo walkthrough and show the actual operational flow: login, chat, escalation, knowledge management, user controls, and white-label tenant configuration.

DorrianAI admin panel for AI configuration settings
Tenant configuration — AI parameters, thresholds, and response controls
DorrianAI white-label branding settings for tenant customisation
White-label branding — logos, colours, and client-facing presentation per tenant
DorrianAI login page
Secure login screen for tenant access
DorrianAI demo credential panel
Demo credential helper for walkthrough and onboarding
DorrianAI empty chat state before a support query is entered
Chat workspace ready for a new support query
DorrianAI chat with generated response and supporting evidence
Grounded answer generation with retrieved context and response review
DorrianAI drafting an email to request more information from a user
Escalation path when the system needs more information before answering
DorrianAI generated email draft for support follow-up
One-click draft email generation for technician review and send-off
DorrianAI feedback form for flagging a poor AI response
Response flagging captures weak answers for admin review
DorrianAI confirmation after flagging a response
Feedback confirmation closes the loop for continuous improvement
DorrianAI documents library used for knowledge ingestion
Knowledge base document library for governed RAG ingestion
DorrianAI knowledge gaps queue
Knowledge gap tracking so unanswered questions become product improvements
DorrianAI session history view
Session history for review, auditing, and support visibility
DorrianAI user management page
User management for access control across tenants and teams
DorrianAI settings page
Platform settings page for deployment-level controls
DorrianAI AI memory management screen
AI memory management for approved long-term behavioural rules
DorrianAI category management screen
Category organisation for admin workflows and controlled classification
DorrianAI data storage configuration page
Data storage controls showing the operational admin surface behind the product
DorrianAI AI behaviour tuning screen
Behaviour tuning for tone, strictness, and response personality
DorrianAI theme customisation screen
Theme customisation showing the white-label surface available to each tenant
DorrianAI landing banner introducing the product
Product landing banner used in the public walkthrough and demo positioning

Engineering decisions that make the platform trustworthy

Achieving reliable RAG responses without hallucination

Challenge: LLMs confidently generate plausible-sounding answers even when the knowledge base contains no relevant information. In a helpdesk context, a hallucinated answer sent to a customer is worse than no answer at all.

Solution: Implemented a multi-layered approach: retrieval similarity thresholds reject low-quality matches before they reach the LLM; the system prompt explicitly instructs the model to say "I don't have enough information" rather than guessing; confidence scoring compares the response against source material; and the 3-tier workflow ensures a human always reviews before anything reaches a customer.

Multi-tenant data isolation with a shared infrastructure

Challenge: Multiple organisations use the same platform, each with their own knowledge base, users, and AI configuration. Tenant A must never see Tenant B's data — even in error states, edge cases, or misconfigured queries.

Solution: Tenant isolation is enforced at every layer: API routes include tenant context from authentication tokens; database queries are scoped by tenant ID at the ORM level; vector store collections are namespaced per tenant; and file storage uses tenant-prefixed paths. No query path exists that doesn't include a tenant filter.

Local-first AI that matches cloud quality

Challenge: Running AI locally via Ollama is cost-effective and private, but smaller local models produce lower-quality responses than cloud APIs. The system needed to work well with both, without requiring different UIs or workflows.

Solution: Abstracted the AI layer behind a unified interface — the same prompt engineering, retrieval pipeline, and post-processing works regardless of the underlying model. The system automatically adapts prompt length and complexity based on the model's context window. Organisations can start with local Ollama and upgrade to Azure OpenAI without changing anything else.