Reference Implementations

The Atanzo AI demo gallery shows the embed SDK in action across eighteen branded experiences spanning sports, health, and professional/field-service verticals. Each uses a real agent and a real guided-task or coaching flow, wired through a backend-for-frontend (BFF) so platform credentials never reach the browser. Use these as starting templates when building your own embed.

The demos cover two interaction modes and two transport configurations:

  • Guided steps — the agent walks the worker through a numbered plan, advancing step by step.
  • Immediate feedback — the agent watches continuously and offers coaching tips on a regular interval without a fixed plan.
  • Video + voice — the worker's camera is published so the agent can observe their environment or technique.
  • Voice only — the agent listens and responds without a video feed.

Every demo maps 1:1 to a canonical coaching preset (presetId) — the microsite pages send only the presetId (or, for the original launch set, an equivalent hand-built config) and the interaction mode, feedback cadence, video processor, metrics, and scorer all come from the trusted server-side row.


Sports

BrandSkillInteractionCameraVideo processorFPS
FAIRWAY/AI"A coaching system for serious golfers."Golf Swing AnalysisImmediate feedbackEnvironment-facingyolo-pose15
Baseline"A court-side coach for the player without one."Tennis Form AnalysisImmediate feedbackEnvironment-facingyolo-pose15
Diamond Mechanics"Pitching mechanics, decoded."Pitching MechanicsImmediate feedbackEnvironment-facingyolo-pose15

Health

BrandSkillInteractionCameraVideo processorFPS
Restora"Recovery, between visits."Physical TherapyImmediate feedbackUser-facingyolo-pose5
REPSET"A spotter that never blinks."Exercise FormImmediate feedbackUser-facingyolo-pose5
Tend"Practise the procedure before it matters."Care ProceduresImmediate feedbackEnvironment-facingyolo-pose5

Professional

BrandSkillInteractionCameraVideo processorFPS
Cadence"Real-time delivery coaching for executives."Public SpeakingImmediate feedback, post-session reportUser-facingmediapipe-face5
Handyman"For everything you'd normally Google at 11pm."Home RepairGuided stepsVoice only — no camera
Counsel"Practise the deposition before the deposition."Deposition PrepImmediate feedback, post-session reportUser-facingmediapipe-face5
Spark"Field coaching for HVAC technicians."HVAC Field ServiceImmediate feedbackEnvironment-facingnone5
FireGuard"Walk the NFPA procedure. Leave a defensible record."NFPA 25 InspectionGuided stepsEnvironment-facingnone4
TrueClimate"Commission every unit in range. Split or rooftop."HVAC CommissioningGuided stepsEnvironment-facingnone4
StormProof"Document the damage right. Get the supplement approved."Storm Damage DocumentationGuided stepsEnvironment-facingnone4
TopLine"Catch every issue before the crew leaves. Prove the job's done right."Final Quality WalkthroughGuided stepsEnvironment-facingnone4
Greenlight"Surface the right occupancy checklist. Clear every checkpoint."Occupancy InspectionGuided stepsEnvironment-facingnone4
PLUMBLINE"Put the correct water-heater install sequence in every tech's ear."Water Heater ReplacementGuided stepsEnvironment-facingnone4
FULLPOINT"Walk every inspection point. Rate each one, on every vehicle."Multi-Point InspectionGuided stepsEnvironment-facingnone4
CLEARZONE"Walk every treatment zone. Clear each one, on every stop."Chemical Application ProtocolGuided stepsEnvironment-facingnone4

That's 3 Sports + 3 Health + 12 Professional = 18 experiences in total — one branded page per experience under src/pages/ in the demo microsite repo, each with a matching preset file in the coaching-catalog.

A few patterns worth noting when picking config for your own embed:

  • videoProcessor isn't uniformly yolo-pose. The original launch set (Golf, Tennis, Baseball, Rehab, FormCheck, Care) runs pose estimation. Present and Witness run mediapipe-face (face/gaze tracking, not body pose). Spark and the newer field-service inspection verticals (FireGuard, TrueClimate, StormProof, TopLine, Greenlight, PLUMBLINE, FULLPOINT, CLEARZONE) run none — those experiences lean on the agent's own vision sampling and the knowledge base rather than a continuous CV processor, and sample at a lower 4-5 fps accordingly.
  • Camera facing tracks the task, not the category. User-facing (front) camera is used only where the agent needs to see the person's face or posture directly at the device — Rehab, FormCheck, Present, Witness. Every other video experience, including all of the field-service inspection verticals, uses the environment-facing (rear) camera so the agent sees what the worker is looking at.
  • feedbackTiming: "post_session" applies only to Present and Witness — both deliver a single end-of-session report rather than live tips, since interrupting a rehearsal or deposition prep mid-flow would defeat the point.
  • Guided steps vs. immediate feedback splits along task shape, not vertical. Anything with a fixed procedure to walk (inspections, installs, home repair) uses guided_steps. Anything that's open-ended practice with no fixed endpoint (swing mechanics, form checks, care drills, presentation rehearsal) uses immediate_feedback.

The Pattern to Copy: the BFF

The part of these demos worth copying is not any individual brand page — it's how they get a session credential without ever putting platform credentials in the browser.

Browser                Vite dev middleware         BFF (Node)                External API
  |                           |                          |                          |
  |-- POST /agent/session --->|                          |                          |
  |                           |-- routes to src/bff.ts ->|                          |
  |                           |                          |-- OAuth2 client-creds -->|  POST /oauth
  |                           |                          |<-- access_token ---------|
  |                           |                          |-- POST /guide/session -->|  (with presetId or full config)
  |                           |                          |<-- session credential ---|
  |<-- session credential ----|<-------------------------|                          |
  • The browser only ever calls a same-origin session endpoint (/agent/session) — never the external API directly.
  • In development, Vite's dev middleware routes that call to src/bff.ts; in production this is whatever server-side handler your framework equivalent uses (an API route, a Lambda, a small Express service — anything that can hold a secret).
  • src/bff.ts runs the OAuth2 client-credentials grant (POST /oauth) using partner credentials (client_id / client_secret or API key/secret) that live only in server-side environment variables, caches the resulting access token, then calls POST /guide/session on the external API with either a full session request or a presetId.
  • The browser receives back only a short-lived LiveKit session credential — never the partner's OAuth credentials, and never a long-lived token.

This is the same shape described in Getting a Session Credential: your backend mints the credential, your frontend only ever holds the result. src/bff.ts in the demo microsite repo is a complete, working reference for that backend half — token caching, error propagation (upstream error codes like COACHING_MODULE_REQUIRED or PLAN_DISALLOWS_VIDEO are carried through with their HTTP status intact so the frontend can show a real message), and the two calls (/oauth, then /guide/session) in the order they need to happen.

Source files for each demo page are available through the Atanzo AI demo gallery (contact your account team for access) and make good starting points when building industry-specific embeds. Each page is a self-contained component that wires createSession, attachVoice, attachVideo, and the plan state machine together in a single file — but the BFF is the piece to lift wholesale.


Atanzo Coach — the Native Reference App

Atanzo Coach is a native reference implementation for iOS and Android, not a released product. It is not publicly deployed and there is nothing a customer downloads — it exists to demonstrate the same coaching experiences from the demo gallery above running in a native mobile shell instead of a browser, and to serve as a starting point for partners building a native embed.

A few things worth knowing about how it's built, all of which apply to a native embed of your own:

  • One binary, every experience. There are no per-experience builds. A single app ships with the full catalog of coaching experiences baked in, and the landing screen switches between them at runtime — the same catalog documented in the table above (currently 17 of the 18; Storm Damage Documentation is the one experience not yet mirrored in the native app).
  • It runs anonymously, the same shape as the web BFF above. The device never holds platform credentials. Instead, a partner-side proxy authenticates (app key + a random per-device end-user reference) and requests the session on the app's behalf, then hands the app only the resulting session credential — the native equivalent of the browser calling a same-origin /agent/session endpoint instead of the external API directly.
  • It launches experiences by presetId, the same mechanism described in Coaching Presets — the interaction mode, feedback cadence, video processor, metrics, and scorer all come from the trusted server-side preset row, not from anything the app assembles itself.

If you're building a native embed, treat Atanzo Coach the same way you'd treat the web demo gallery above: a working reference for the credential-handling pattern, not something to ship as-is.


Next Steps