Usman Liaqat.
Back to all work

DuChat

A website chatbot SaaS that turns any public URL into an interactive assistant for Q&A, lead capture, and customer support, featuring automated training, custom workflows, and one line widget publishing.

Next.js 16React 19TypeScriptTailwind CSS v4AI ChatbotSaaS
DuChat preview

The Challenge

Building a scalable, multi tenant AI chatbot SaaS that can autonomously crawl, extract, and chunk unstructured web content, perform semantic vector searches, handle complex scripted conversation flows (Q&A, leads, handoff), and serve a high performance embeddable widget without degrading client page speed.

The Approach

Architected a Next.js App Router platform using Partial Prerendering (PPR) for optimal rendering performance. Implemented a robust worker queue for website crawling, PDF/Word document parsing, and text embedding generation using OpenAI models. Chunks are indexed in Qdrant and MongoDB. The public widget is written in vanilla JavaScript utilizing Shadow DOM isolation to prevent CSS clashes on host websites, communicating with secure Next.js API route handlers.

Key Features

  • Durable website crawler and document parser (PDF, Word, CSV) with background worker queue
  • Vector embeddings search using Qdrant with MongoDB storage fallback
  • Interactive chatbot flow builder supporting AI answers, lead forms, choices, and human handoff
  • Isolated Shadow DOM chat widget with drag and drop file attachments and custom theme configuration
  • Tenant workspaces with Stripe subscription integration and real time usage analytics dashboard
  • Super admin portal for platform management, collection health checks, and training logs

Results

Delivered an open source ready chatbot platform enabling companies to train and deploy custom assistants in under five minutes, reducing support ticket volume by up to seventy percent and capturing verified leads in real time.

Tech Stack

Next.js 16 (PPR)
React 19
TypeScript 6
Tailwind CSS v4
MongoDB
Qdrant Vector DB
Sentry
Stripe
Brevo
AWS SDK S3
Web Push API