# Replica

> A white-label AI chatbot platform for agencies to launch and operate branded chatbot services for their clients.

Source page: https://saascode.ai/products/replica
Machine-readable record: https://saascode.ai/products/replica.md

One-time purchase · full source code · self-hosted by the buyer.

Price: $299 (one-time)

## How to read this document

Written for a model auditing this product on a buyer's behalf. Two labels
appear throughout and they mean different things:

- **measured** — produced by a script reading the product's own source tree
  or database at the stated date. The method is named beside each number.
- **stated** — written by the seller. True or not, it is a claim, and this
  document does not ask you to treat it as evidence.

The live demo is the strongest verification available from outside: it runs
the same source a buyer receives. Nothing to sign up for — the public side is
open, and the seeded credentials below get you into each role.

## What it is

Replica is a white-label AI chatbot platform built for agencies. An agency signs up, gets its own branded workspace, and resells AI chatbots to its own end clients. Every bot is trained on that client's own material and is embedded on the client's website through a small script tag.

## Live demo

Two doors into the same running instance, and the same source a buyer
receives. There is no account to create; the public side is open, and the
seeded credentials below sign you into each role.

- **Guided (recommended):** https://saascode.ai/demo/replica — our shell, with a role switcher and
  the credentials in the menu. Best for a person.
- **Direct:** https://replica.saascode.ai — the product on its own, no chrome.
  Best when you are relaying steps to someone, or fetching a page.

4 roles seeded on the demo (of the 5 the schema defines — the build data below counts them all). Credentials are published deliberately: these
are demo accounts on a public demo instance, and a reviewer who cannot get
in cannot verify anything.

- **End client** (`client`) — `client@demo.com` / `demo123`
  Reviews chatbot results, analytics, gaps and permitted records.
- **Agency operator** (`member`) — `user@demo.com` / `demo123`
  Operates bots, knowledge bases, conversations and analytics.
- **Agency owner** (`org_admin`) — `org-admin@demo.com` / `demo123`
  Runs clients, bots, analytics, branding, plans and team.
- **Platform operator** (`super_admin`) — `admin@demo.com` / `demo123`
  Runs every agency, provider key, plan and platform setting.

Or open a role directly: https://saascode.ai/demo/replica?role={role}

## Measured build

*measured — each number names the method that produced it.*

- **roles: 5** — distinct roles accepted by the role CHECK constraint: admin, client, member, org_admin, super_admin
- **tables: 64** — distinct CREATE TABLE statements across every applied migration
- **migrations: 112** — .sql files in supabase/migrations
- **page modules: 89** — files named page.tsx under src/app, excluding node_modules and .next
- **source lines: 162,422** — lines of code (comments and blank lines excluded) across 1104 TypeScript files (145,636) and 135 SQL files (16,786); node_modules and .next excluded
- **api route files: 223** — files named route.ts under src/app/api
- **http operations: 297** — exported HTTP method handlers across those files, de-duplicated per file, OPTIONS excluded as CORS preflight
- **schema graph: 64 tables, 108 relationships** — parsed from the applied migrations

A large number here is scope, not quality. It says the product models a
real domain rather than a CRUD skeleton; it says nothing about code
quality, duplication, test coverage or maintainability, and should not be
read as if it did.

Release: v1.0.0 · built 2026-08-06

## Complete capability inventory

14 capabilities. Each summary is *stated* — selected from the
product's own buyer documentation, or written by the seller where marked.

### Bots, knowledge bases and how answers are produced

- **Self-contained RAG chatbot engine (per-bot model, streamed)** — 1. The visitor's question is converted into the same numeric representation as the stored chunks. 2. The bot's own chunks — never another bot's — are searched for the closest matches. 3. The best matches are handed to the chat model together with the bot's system prompt. 4. The answer is streamed back to the visitor a token at a time.
- **KB management (PDF/TXT/DOCX/URL → async chunk+embed) (Async knowledge-base ingestion for text-based PDFs, TXT, DOCX and URLs, with chunking and embeddings)** *(seller-authored)* — Async knowledge-base ingestion for text-based PDFs, TXT, DOCX and URLs, with chunking and embeddings
- **Bot configuration** — Each bot also carries its own public widget key (a string beginning rb_pub_). That key is what the embed snippet carries, and it is scoped to that one bot.

### The embeddable chat widget and how to install it on a client site

- **Embeddable chat widget (isolated, cross-domain)** — The loader script draws only a small launcher button. The conversation itself runs inside a cross-origin frame, so none of the host site's styles, scripts or global variables can collide with the widget — and the widget cannot read the host page. Resizing and open/close state are exchanged through a narrow message channel.
- **Advanced per-client branding (custom CSS, domain docs)** — Widget appearance is edited on the same Embed screen: accent colour, launcher position, avatar image, and a short list of suggested questions shown before the visitor types anything. Agencies on the paid tiers additionally get custom CSS for per-client styling.

### End clients, their portal and per-client permissions

- **Client management (create, assign bots, per-client toggles)** — Each client record carries a name, a contact email, a status and a set of permissions. A client may optionally be linked to a login account; without one the client simply has no portal access and the agency runs everything on their behalf.
- **Per-client dashboard (client login)** — The whole portal renders under the agency's branding — logo, name and colours — not under Replica's. That is the white-label promise: the client never learns which platform the agency is standing on.

### Conversations, transcripts and live human handoff

- **Conversation history + transcripts** — Conversations in the agency app lists them with search and filters by date, client and bot. Selecting one opens the full thread beside the list, so you can scan the list and read a thread without losing your place. Threads can be flagged for follow-up, and conversations can be exported in bulk on the plans that include export.
- **Live human handoff** — Handoff is a paid-plan feature (live_handoff, available on Pro and Scale). When it is enabled, a conversation can be escalated to a person and lands in the Live chat queue.

### Analytics, deflection and the gap report

- **Usage tracking (Client-level message and conversation usage, bot- and organization-level token tracking, and organization-wide ready-document totals)** *(seller-authored)* — Client-level message and conversation usage, bot- and organization-level token tracking, and organization-wide ready-document totals
- **Analytics dashboard (agency + client)** — Analytics is where an agency turns a chatbot into a number it can put on an invoice. There are two levels: the agency's own view across all its clients, and each client's view of their own bot.
- **Deflection analytics + gap report** — The grouping is produced on a nightly schedule: questions that the knowledge base covered weakly are clustered by similarity, and each cluster is given a plain-language label. The result is not a list of raw log lines but a short list such as "refund window" or "international shipping" — the things worth writing a new document about.

### Plans, limits, branding and provider API keys

- **White-label branding (per-org)** — An agency sets its own logo, product name, colours and favicon under Settings → Branding. Those settings then apply everywhere that agency's clients look — the client portal and the widget — so the end client sees the agency's brand, never Replica's.

### Other

- **KB + conversation bulk import/export (Scale bulk document import and analytics export, plus multi-select transcript export across plans)** *(seller-authored)* — Scale bulk document import and analytics export, plus multi-select transcript export across plans

## What each system gives the operator

*stated.*

- **Bots, knowledge bases and how answers are produced** — Turn each client's knowledge into answers that stay inside that client's context.
- **The embeddable chat widget and how to install it on a client site** — Put each client's branded assistant on their site without rebuilding the site.
- **End clients, their portal and per-client permissions** — Give every client a controlled view of the results and records that matter.
- **Conversations, transcripts and live human handoff** — Keep every exchange reviewable and bring in a person when the bot cannot.
- **Analytics, deflection and the gap report** — Show clients what automation resolved, what it missed, and what to improve next.
- **Plans, limits, branding and provider API keys** — Package chatbot capacity and premium controls into tiers the agency can resell.

## The problems it was built to solve

*stated — the seller's argument, given in full so you can judge it.*

### Each client gets useful answers without sharing another client's context.

An agency can sell a chatbot quickly; keeping it trustworthy across a growing client roster is the harder business. One weak answer can become a support escalation, while one client's material appearing in another client's response would damage both relationships at once. The work also compounds: every new account brings a separate body of information, a separate standard of accuracy and another set of questions that changes over time. Without a disciplined way to keep those boundaries and answers dependable, the service stops scaling long before the agency runs out of prospects.

### The service looks and feels like the business that sold it.

A reseller loses credibility when the product it delivers keeps reminding the customer that somebody else built it. The problem appears in small places first: an unfamiliar name in the portal, a generic interface beside the client's website, or a support experience that feels disconnected from the agency that sold it. Each mismatch makes the service look rented and makes the agency easier to replace. As the client roster grows, those inconsistencies turn into repeated explanations, extra onboarding work and a weaker relationship at the exact moment the agency is trying to prove that the service is its own.

### Every report shows what worked and what the knowledge still misses.

Chatbot activity is easy to count and hard to defend. A client does not renew because message volume went up; they renew when the agency can show which questions were resolved, where people still needed help and what should change next. Without that evidence, a monthly report becomes a decorative chart and every renewal conversation falls back to opinion. The agency then spends time explaining value manually while the client's most expensive unanswered questions keep repeating. A useful operating report has to make both sides visible: the work the chatbot removed and the gaps that still deserve attention.

### A difficult conversation reaches a person before the client loses trust.

Automation becomes a liability when a visitor needs judgment and the only available response is another automated turn. The damage is rarely one unanswered question. It is the feeling that nobody is watching while frustration rises, followed by a complaint the agency hears about after the customer has already decided the service failed. Teams that cannot see those moments also cannot learn from them: the same difficult topics recur, operators arrive late and the client experiences the gap as silence. A reliable service needs a clear boundary between conversations the bot can finish and conversations that now belong to a person.

## What it takes to run it

*stated — external services the buyer supplies and pays for directly.*

- **A Node host and a Supabase project** (required) — The Node version is not pinned; the application declares Next 16.2.10. Supabase supplies Postgres, authentication and storage.
- **A scheduled runner** (required) — Five jobs are declared in `vercel.json`. On another host, those schedules must be wired to the shipped endpoints.
- **An email delivery provider** (required) — Choose one of the shipped Brevo, Mailgun, Resend, SendGrid or SMTP providers for invitations and notifications.
- **Upstash** (optional) — The example environment exposes Upstash configuration for deployments that use the hosted integration.
- **Sentry** (optional) — The example environment exposes Sentry configuration for deployments that want external error monitoring.

## FAQ

**What exactly do I receive after purchase?**

The complete source repository behind the live demo — 162,422 lines across the application and its database, 64 tables defined by 112 migrations that the shipped scripts apply for you, plus the seed data, the demo accounts and the setup documentation. Not a subset and not a scaffold: the same code that runs the demo you just used.

**Is the live demo the same product whose source I receive?**

Yes. The Replica demo runs the delivered release (v1.0.0), and the build figures on this page are measured from that same source — not from a showcase build kept separately.

**Can I test every account role before buying?**

Yes — all 4 of them: End client, Agency operator, Agency owner, Platform operator. Each one is seeded in the live demo and reachable from the role board above, so you can inspect the product from the customer's side, the agent's side and the administrator's side before you decide.

**Is this a complete product or a starter template?**

Complete. 89 page modules and 297 HTTP operations, with authentication, roles, billing, an administration panel, background jobs and seeded demo data all wired and running. A template gives you the shape of an application; this is one you can deploy and start operating.

**Can I rebrand and modify it?**

Yes, without asking. The name, identity, copy, styling and code are yours to change. Rebranding and operating it as your own service is exactly what the licence is for.

**What does the licence allow?**

A perpetual, worldwide, non-exclusive, non-transferable licence to the product you bought and to every update released for it. The Standard licence covers one business — yours. If you deploy for clients, the Client licence covers up to five. You can modify it, rebrand it, deploy it and charge your own customers.

**Can I resell the source code?**

No. Reselling, redistributing, sublicensing or giving away the source itself is not permitted under either licence. You build and deliver products with it — the code stays with you.

**What services and ongoing costs are required?**

You bring your own accounts, so we never mark anything up and there is no ongoing cost to us beyond the purchase. Required: A Node host and a Supabase project, A scheduled runner, An email delivery provider. Optional: Upstash, Sentry. The table above says exactly what stops working without each one; most have usable free tiers at low volume.

**How difficult is deployment?**

Two ways, and most buyers use the first. The installer in your saascode dashboard walks it: you create free accounts at Vercel and Supabase, connect them, and it provisions the database, applies 112 migrations, seeds the data, deploys and verifies the result — you watch the steps go green. Or take the source and do it yourself with the shipped scripts and docs, which is the same sequence run by hand.

**What updates and support are included?**

Updates to that product for as long as we maintain it — no renewal fee and no expiry date on your access. Support covers download problems, defects in the code as shipped, questions about what the product does and how it is structured, and licence questions. It does not cover debugging your own modifications, building features for you, or setting up your hosting and third-party accounts.

**Why does a complete codebase cost $299?**

Because it was built once and is distributed many times. SaaSCode builds each product and ships the same finished release through the catalog, so the price reflects repeatable distribution — not a reduced codebase, an unfinished template, or what the same work would cost commissioned.

**Do I need to be a developer?**

No, for the normal path. You create free accounts at Vercel and Supabase, connect them to the installer in your saascode dashboard, and it does the deployment for you — provision, migrate, seed, deploy, verify. What it asks of you is creating two accounts and copying a token, not writing code. If you would rather deploy it yourself, or host it somewhere else, the full source and the scripts are yours to do that with. Running the product day to day needs no technical skill at all: that happens through its own interface, which is what the demo shows.

## Licence

The buyer receives the complete source and may deploy, modify and operate it
as their own SaaS, charging their own customers. The source itself is not
resold or redistributed: you build and deliver **with** it, you do not sell **it**.

## What this document cannot tell you

Stated plainly because a review that misses it is not a review:

- code quality, duplication, or architectural consistency
- test coverage
- query performance under load
- security posture beyond what the stack implies
- how maintainable it will be in a year

Scope is measurable from outside; implementation quality is not. Anyone
evaluating this should say so rather than infer quality from size.

## Written about it

- [Replica vs Stammer AI: deploy the platform or rent the operating layer?](https://saascode.ai/inside/replica-vs-stammer-ai-deploy-or-rent.md)
- [White-label AI chatbot platforms for agencies in 2026: choose by who runs the control plane](https://saascode.ai/inside/white-label-ai-chatbot-platforms-for-agencies-2026.md)
- [Replica: a white-label AI chatbot platform for agencies](https://saascode.ai/inside/road-to-replica.md)

## Links

- Catalog page: https://saascode.ai/products/replica
- Product record: https://saascode.ai/inside/products/replica
- Live demo: https://replica.saascode.ai
- Every product: https://saascode.ai/llms.txt

