AIRDESK FOR BUILDERS

Build a screen hands can use.

Your interface already knows how to handle a click. Use that foundation for hands-free navigation, from a no-code workflow to a full-stack app.

Choose your path
ONE FAMILIAR CONNECTION
  1. 01
    Your handTracked locally by the Windows app
  2. 02
    Mouse or keyboard inputThe operating system delivers the action
  3. 03
    Your existing controlsYour app decides what happens next

No browser camera SDK or raw-hand API.

TRY AN ACTUAL WORKFLOW

A repair reference, one step at a time.

Try the normal buttons below. This example uses the same action module as the starter kit, without another pause-to-click timer.

REPAIR REFERENCEIllustrative workflow
01 / 03

Identify the component.

Read the component label and compare it with your parts list.

Step 1 of 3

Use a mouse, touch, or Tab and Enter. To use your hand, open AirDesk on Windows, select Start control, then use your saved click gesture. This page does not request your camera or detect AirDesk.

START AT YOUR LEVEL

Three ways in. One input model.

You do not need to rebuild hand tracking to explore a useful interaction.

NO CODE

Keep your normal buttons.

Connect large buttons to the navigation or workflows your builder already provides. AirDesk clicks them through Windows; no kit or custom code is required.

  1. Use clear labels and generous space between controls.
  2. Give each button one obvious action, such as opening the next instruction.
  3. Try the published screen with a mouse first, then with AirDesk.

Compatibility depends on your builder and the published interface. There is no automatic AirDesk detection.

LOW CODE

Add a small action layer.

Use the HTML example in an embed or custom-code area, then connect its actions to the workflow you already own.

  1. Start with semantic HTML buttons.
  2. Scope the kit to your component and listen for named actions.
  3. Keep normal keyboard access and visible confirmation.

Your platform must allow the required scripts. An iframe cannot freely control the surrounding page; use its supported messaging or workflow hooks.

FULL STACK

Own the whole workflow.

Use the Vanilla module or typed React example for a reference screen, guided task or deliberate menu. The same action contract keeps UI and application logic separate.

  1. Bind only the component that needs the integration.
  2. Handle actions in your app and dispose the binding on unmount.
  3. Use your existing authenticated API for server-side work.

An action name is not authorization. Validate input, permissions and repeat requests on your server; keep credentials out of the browser.

A SMALL STARTER, READY TO ADAPT

Take the working example.

The kit includes the action module, TypeScript declarations, scoped styles, HTML and React examples, and practical integration guidance. The action module has no runtime dependencies.

Download starter kit

Version 0.1.0 · 22.7 KB · SHA-256 checksum

You may adapt the kit in your own apps under its included permission. This covers the starter files, not the private AirDesk tracking engine.

Read the integration guide
See the HTML embed recipe

Host the kit’s JavaScript and CSS, then adapt the paths and actions for your platform. The complete example below comes directly from the downloadable kit.

<!-- Low-code recipe. Host the kit's JS/CSS beside your page, then adapt paths. -->
<!-- Put this in a custom HTML embed that permits module scripts. -->
<link rel="stylesheet" href="/airdesk/airdesk.css">
<section id="airdesk-reference" data-airdesk aria-label="Reference viewer">
  <p class="airdesk-status" role="status">Page <span id="reference-page">1</span> of 3</p>
  <div class="airdesk-actions">
    <button type="button" data-airdesk-action="back" data-variant="secondary" disabled>Back</button>
    <button type="button" data-airdesk-action="next">Next page</button>
  </div>
</section>
<script type="module">
  import { AIRDESK_EVENT, mountAirDesk } from "/airdesk/airdesk.js";
  const root = document.querySelector("#airdesk-reference");
  let page = 1;
  root.addEventListener(AIRDESK_EVENT, ({ detail }) => {
    if (detail.action === "next") page = Math.min(3, page + 1);
    else if (detail.action === "back") page = Math.max(1, page - 1);
    else return;
    root.querySelector("#reference-page").textContent = String(page);
    root.querySelector('[data-airdesk-action="back"]').disabled = page === 1;
    root.querySelector('[data-airdesk-action="next"]').disabled = page === 3;
  });
  const dispose = mountAirDesk(root);
  // On a normal page this cleans up when leaving. In an SPA, clean up on unmount.
  window.addEventListener("pagehide", (event) => { if (!event.persisted) dispose(); });
</script>
Download this HTML recipe
BUILD WITH CLEAR BOUNDARIES

Your app. Your responsibility.

Ordinary input, by design.

The Windows runtime sends mouse and keyboard input. The kit does not expose hand landmarks, track a camera, identify the input device or add a second pause-to-click timer.

Keep a way back.

Provide a visible result and an easy undo where practical. Retain a physical mouse, and never use this prototype for machine start/stop, emergency functions or other safety controls.

A starter, not a certification.

Test the full workflow in its real lighting, camera position and display setup. The tracking engine stays private; the integration examples do not make your app medically or industrially certified.

To try hand control, use the experimental Windows preview . It is unsigned; do not disable Windows security protections to run it.