Layer 1 · Components

Drop finished components straight into your website.

Four SDKs — player, capture, review, report — shipped for Web, iOS and Android, so nobody on your team writes a WebGL viewer or a guided-capture camera flow.

4 SDKs · Web, iOS and Android · the API is switchable, a rendered viewer is not

Why this layer

Nobody should have to write a WebGL viewer to buy an inference API.

Every model in Layer 2 needs a complete, well-positioned shot set to read from, and every result needs somewhere to be seen. Both ends are front-end work that has nothing to do with your product's logic — so they ship as SDKs rather than as a specification.

The set

Four SDKs, each droppable on its own.

Take the player without the capture flow, or the capture flow without the report. Nothing here requires adopting the rest of the layer.

Where it runs

One SDK per target, not one web bundle with wrappers.

The capture flow needs the camera, and the player needs the GPU. Both are platform work, so each target gets a real implementation — including a Capacitor-friendly path, since that is how we run it ourselves.

Web
Framework-agnostic core, plus Vue and React wrappers
iOS
Native SDK
Android
Native SDK
Capacitor
A supported path, because that is how we run it ourselves

What feeds it

These render Layer 2's output. They do not produce it.

Two endpoints do most of the feeding. Both are ordinary calls you can make yourself — the SDKs just consume their responses.

Drop in the player first.

It is an iframe against one tokenised report, so you can see the whole pipeline's output before you wire anything else.