©Code byMilanParmar

The Chat Company

The Chat Company is an AI chatbot SaaS I designed and built end to end. Businesses submit their website, select the pages the chatbot should know, scrape and index that content with RAG, configure company knowledge, visually customize the widget, and embed it with a single script tag. I built the SaaS dashboard, AI and RAG pipeline, embeddable widget, visual customizer, analytics, authentication, multi-tenancy, support tooling, SEO, and production infrastructure.

Category
AI
Industry
AI / SaaS
Type
AI chatbot SaaS
Year
2026
Result
A complete AI chatbot SaaS designed and built from scratch, combining website ingestion, RAG, vector search, streaming AI chat, a live visual widget builder, one-script embedding, multi-tenant architecture, analytics, authentication, and support.

The product

Turn a website into an AI assistant.

The Chat Company lets businesses give their website an AI chatbot without building their own AI infrastructure. Add a website, select the content, customize the experience, and install it with one script.

End-to-end

Designed and built from scratch.

I owned the entire product — product design, frontend, backend, AI integration, RAG, vector search, embeddable widget, visual customizer, analytics, authentication, multi-tenancy, support, SEO, and production delivery.

Knowledge

Start with what the business already knows.

Instead of asking businesses to manually build a knowledge base, the platform maps their website, lets them select the relevant pages, scrapes the content, and turns it into searchable AI knowledge.

  1. 01

    Website URL

  2. 02

    Map domain

  3. 03

    Select pages

  4. 04

    Scrape content

  5. 05

    Chunk content

  6. 06

    Generate embeddings

  7. 07

    Vector index

  8. 08

    AI chatbot

RAG

The chatbot answers from the website, not from guesswork.

I built the RAG pipeline from content chunking and embedding generation through tenant-filtered vector search and contextual prompting. Relevant knowledge is retrieved for each question before the model generates its response.

  1. 01

    Visitor question

  2. 02

    Query embedding

  3. 03

    Tenant-filtered vector search

  4. 04

    Relevant chunks

  5. 05

    Contextual prompt

  6. 06

    OpenAI

  7. 07

    Streaming response

Distribution

One script. Any website.

The chatbot is packaged as a standalone JavaScript widget with bundled CSS, public configuration loading, CORS support, session tracking, and streaming chat. Customers don't need to rebuild their website or maintain another backend.

  1. 01

    Customer website

  2. 02

    chatbot.js

  3. 03

    Public config API

  4. 04

    Streaming chat API

  5. 05

    RAG

  6. 06

    OpenAI

Customization

Make the chatbot feel like part of the brand.

I designed and built a live visual customizer with 56 reusable templates and controls covering appearance, header, messages, footer, empty state, position, and popup behavior.

  1. 01

    Template

  2. 02

    Visual editor

  3. 03

    Zustand state

  4. 04

    Live preview

  5. 05

    Persist configuration

Analytics

See what visitors are asking.

The dashboard tracks sessions, messages, tokens, unique users, RAG usage, and conversation history, with visual analytics and conversation replay.

Architecture

One platform. Isolated customer knowledge.

Website identity is carried throughout configuration, vector embeddings, retrieval, sessions, and APIs. Every protected operation checks ownership so one customer's knowledge remains isolated from another's.

Support

The product also supports the people using it.

I built a realtime support system where customers can create tickets, communicate with admins, track ticket state, and receive realtime updates.

Engineering

The interesting part was packaging AI into a product.

The challenge wasn't simply connecting an LLM. It was building the systems around it — ingestion, retrieval, tenant isolation, token control, failure handling, streaming, configuration, analytics, and a distribution layer that works outside the main application.

The result

An AI chatbot anyone can actually install.

The finished platform turns an existing website into a branded, knowledge-grounded AI assistant through a simple flow: crawl the site, index the knowledge, customize the widget, and embed it with one script tag.

Inside the product

A closer look at the AI platform.

A selection of the onboarding flow, website crawler, knowledge base, live chatbot customizer, embed experience, analytics dashboard, and support system.

  • Homepage

    The marketing site sells the chatbot as a pipeline tool, then drops into pricing, FAQ, and the live widget.

  • Dashboard

    The dashboard tracks messages, tokens, users, and individual chat sessions from one place.

  • Knowledge Base

    Scraped pages, company knowledge, and indexed chunks sit together so you can see what the chatbot actually knows.

1 / 3

Features

  • Website ingestion

    Firecrawl maps the domain, users pick pages, content is scraped to markdown, then chunked, embedded, and stored. Mapping and scraping run as a state machine with retries and user-facing errors.

  • Website-grounded RAG

    Sentence-aware chunks (~500 characters, 50 overlap) become text-embedding-3-small vectors in a Convex HNSW index. Each question retrieves top-5 tenant-filtered chunks, then gpt-4o-mini streams a grounded reply.

  • One-script embed

    A Vite IIFE widget (chatbot.js with bundled CSS) loads public config, streams chat, and tracks sessions. Install is a single script tag on WordPress, Shopify, or custom HTML.

  • Live visual customizer

    56 templates and controls for colors, typography, bubbles, launcher, position, and popup. Zustand drives a split-pane preview; config persists to Convex.

  • Conversation analytics

    Sessions, messages, tokens, unique users, RAG chunks, and conversation replay. Sessions use localStorage plus a 30-day cookie, with a fingerprint fallback.

  • Company knowledge

    Name, industry, products, description, model config, scraped pages, embedding stats, and manual knowledge injection, validated with Zod.

  • Multi-tenant isolation

    Website identity is carried through ownership, embeddings, vector search, sessions, messages, and APIs so one customer's knowledge never crosses into another.

  • Clerk authentication

    Sign up, login, protected dashboard routes, public embed routes, and ownership checks on Convex operations.

  • Realtime support

    Tickets with assignment, open / in-progress / resolved states, realtime messages, unread counters, and customer/admin roles.

Outcomes

  • End-to-end SaaS product
  • Product and UI/UX design
  • Website crawling with Firecrawl
  • RAG pipeline and sentence-aware chunking
  • OpenAI embeddings and HNSW vector search
  • Tenant-filtered retrieval
  • Streaming AI chat
  • Vite IIFE embeddable widget
  • Single-script installation
  • 56 chatbot templates
  • Live visual customizer
  • Conversation analytics and replay
  • Realtime support
  • Multi-tenant architecture
  • Clerk authentication and Convex backend
  • Technical SEO