For developers
Five lines. Production gamification.
Install the SDK server-side, expose a scoped widget token to the browser, drop a div. The Shadow DOM isolation means our CSS doesn't leak into yours and vice versa; the typed API gives you autocompletion for every event your tenant configured.

What we promise the developer
Typed, end-to-end
The SDK is generated from the same Zod schemas the API validates against. Add an event in the dashboard, get autocompletion the next deploy.
Keys never leave the server
The SDK refuses to load if you ship a secret key in the browser. Widget tokens are short-lived, scoped per buddy, and rotatable from the dashboard.
Idempotent events
Every event carries a deterministic ID; retries are free; webhook delivery is exactly-once.
One line embed
Hatched widgets load through one scoped loader. Switch which surface renders with a single data attribute.
One line. Pick the widget surface. Your product.
Drop a single div into your app and Hatched takes over — token-scoped, theme-aware, no iframe, no rebuild.
<script src="https://cdn.hatched.live/widget.js" data-embed-token="EMBED_TOKEN" defer></script>
<div data-hatched-mount="buddy"></div>
How the system fits together
SDK on the server, widget token in the browser, Hatched edge in the middle — the diagram shows every boundary.
