Case study · Embeddable chat infrastructure

Chat that knows what it's about.

Every transaction, application, booking or case has two sides that need to talk. ObjectChat gives them a structured conversation, embedded in your product, built around the object that matters, with the actions and guardrails that workflow needs.

Product
Embeddable SDK + dashboard
Surfaces
Any web platform
Identity
Anonymous · no login
AI cost
Up to 70% lower
~75%
Messages resolved at zero AI cost
70%
Lower AI cost than comparable platforms
<5%
Of messages ever reach an LLM
7
Pre-built domain templates
E2E
Encryption for sensitive domains
The problem

Generic chat has no context.

WhatsApp and KakaoTalk have no structure, record or safety guardrails. Intercom and Channel.io are built for one business talking down to many customers, not peer-to-peer, not document-heavy, not state-driven.

01

Context lives outside the chat

The listing, the booking reference, the case number, they're somewhere else. Agents copy-paste, users repeat themselves, and nothing is connected.

02

Actions happen outside the chat

A buyer wants to make an offer. A patient needs to upload a document. A visa officer needs to issue a letter. None of it happens in the chat, it happens elsewhere, manually.

03

Sensitive workflows have no guardrails

Legal, medical, financial, immigration, these need structure, encryption and audit trails. Generic chat provides none of them.

How it works

Three concepts. Infinite applications.

01

Define your object

An object is the thing the conversation is about, a listing, a booking, a ticket, an application. Give it an ID, a type and a state machine; ObjectChat handles the rest.

ObjectChatSDK.mount({ schema })
02

Define your actions

Actions are what can happen at each stage, make an offer, upload a document, issue a certificate. The gateway validates against state. No frontend logic required.

allowedInStates: ['verified']
03

Embed and go

Drop the widget into any page. It reads the schema and renders the right UI, context card, actions, quick replies, state. Your users never leave your platform.

npm install @objectchat/widget
The product

One widget. Every kind of transaction.

The same infrastructure powers a used-car negotiation, a visa interview, a medical clearance and an HR approval, each with its own object, states and actions.

app.objectchat, operator dashboard
ObjectChat operator dashboard listing transactional and certification domains with their state machines and actions
The operator dashboard. Every domain is configured here, its state machine, its allowed actions, transactional or certification, with the intent resolver active across them.
ObjectChat Used Car Sale conversation
Used Car SaleBuyer–seller negotiation with the listing as the object, make-offer, viewing and inspection actions inline.
ObjectChat Visa Support conversation
Visa SupportAn embassy officer verifies documents and proposes an interview slot, E2E encrypted.
ObjectChat Medical Clearance conversation
Medical ClearanceA doctor reviews records and issues a fitness-to-fly certificate from the conversation.
ObjectChat HR Travel Auth conversation
HR Travel AuthTravel authorization issued as a certificate once the trip is reviewed and verified.
The AI layer

AI as an action, not a replacement.

A tiered architecture resolves the vast majority of questions before they ever reach a paid model, built as a standalone sidecar, connected as an action rather than baked in.

Tiered resolution

Four tiers. Most never reach the model.

01

Keyword resolver

Pattern-matches against your domain, answers ~75% of messages instantly, at zero AI cost.

02

Semantic cache

Identical or similar questions are answered from cache, no model call needed.

03

RAG retrieval

Searches your knowledge base and returns answers directly, no generation cost.

04

LLM synthesis

Only truly novel questions reach the model, less than 5% of all messages.

On top of that: hallucination detection checks every reply against source material and hands sensitive domains to a human when faithfulness fails; request deduplication collapses 50 identical in-flight questions into a single upstream call; and gap analytics surface the questions the knowledge base couldn't answer as draft articles, so the bot gets cheaper and smarter from its own history.

Capabilities

Everything you need. Nothing you don't.

State-driven actions

Validated server-side against object state. "Issue Certificate" only fires when documents are verified; "Mark Sold" only appears when reserved.

End-to-end encryption

For legal, medical, financial and immigration domains, messages are encrypted peer-to-peer. The gateway relays but never reads content.

Real-time with resilience

Binary WebSocket frames, an offline outbox with automatic resync, typing indicators, read receipts and push notifications.

Built-in safety

Scam-pattern detection flags phone numbers and external IDs, verified safe-meetup suggestions, and secure S3-presigned uploads.

Full operator dashboard

Real-time monitoring, agent assignment, canned responses, global search, broadcast messaging and template management.

One embed, any platform

A single JavaScript call, no framework dependencies, persistent anonymous identity, floating launcher or embedded, your choice.

Use cases

Built for any industry that has transactions.

ObjectChat is domain-agnostic and ships seven pre-built templates to start in minutes. Every configuration is extensible, your industry, your workflow, your rules.

Used Car Sale

Offer modal, inspection request, safe meetup, deal summary

Hotel Booking

Guest-to-staff chat, service scheduling, review prompts

Marketplace

C2C negotiation, meetup coordination, scam detection

SaaS Support

Context-aware tickets, log sharing, escalation, SLA

Visa Support

Document upload, interview scheduling, letter issuance, E2E

Medical Clearance

Records, fitness-to-fly certificates, E2E encrypted

HR Travel Auth

Employee authorization, approval chains, documents

Technical foundation

Built to be embedded, extended, and scaled.

A Fastify + WebSocket gateway on DynamoDB, Lambda-deployable via AWS SAM, with a vanilla-TypeScript widget that carries no framework dependencies and a Next.js operator dashboard.

TypeScriptFastifyWebSocketDynamoDBNext.jsViteRedisPineconeAWS BedrockEventBridgeAWS SAM

Want chat that knows your workflow?

Start a project with params