We built four chats. Obviously, that was the sensible thing to do.
Description and use
A single chat widget was created to share core logic across multiple projects, allowing each host to define its own behavior and eliminating code duplication.
Problem
Multiple parallel projects required similar chat functionality, leading to four separate chat implementations with duplicated effort.
Outcome
Unified chat component reduced duplication, streamlined maintenance, and allowed each application to customize behavior while sharing core functionality.
Workflow
- Identify common chat requirements across projects.
- Extract shared UI and API logic into a standalone chat engine.
- Expose configuration options for host-specific behavior (FAQ, live data, actions).
- Embed the chat via a script tag with project ID and public key.
- Host applications implement callbacks for domain logic (booking, support).
- Iterate improvements across all projects through the shared component.
Evidence
We had a problem with our hotel websites: tourists were having to navigate them.
We were also building a taxi service. Passengers needed a way to talk to drivers.
Four chats. Each one better than the other three. Naturally.
We pulled the shared parts behind one embeddable interface.
The host application still owns its data, business rules and decisions.
- Record date: 2026-10-17T15:56:18.395Z