ArdaPlayer runtime
Single Go binary, WebKit surface, full-screen kiosk operation on x86-64 Debian systems, restarting cleanly after power loss.
Plenty of platforms describe features that exist only in a slide deck. This page is the corrective: three lists, plainly labelled, so you can tell what you'd actually be building on today.
These aren't demos. They are in production on deployed hardware, which is why the rest of the platform is being built the way it is.
Single Go binary, WebKit surface, full-screen kiosk operation on x86-64 Debian systems, restarting cleanly after power loss.
Signed, AES-GCM encrypted .arda bundles verified and decrypted at load, with device binding.
Persistent outbound WebSocket with backoff reconnect, heartbeat, presence tracking and command routing.
Hardware-bound key/value database plus a durable outbound queue with at-least-once delivery and server acknowledgement.
Versioned pull profiles with delta gating, plus binary asset delivery cached to disk for offline operation.
Console capture, live JavaScript evaluation, DOM read, single screenshots and change-triggered screen streaming.
Operator-initiated, token-authorised SSH to a device behind NAT, multiplexed over its existing outbound socket.
Distribution, kernel, architecture, CPU, memory, disk, GPU, network interfaces and classified USB inventory on every connect.
Hash-verified package staging and signature-verified runtime binary replacement with atomic swap, rollback copy and re-exec.
Live HTML preview for the authoring loop — DOM-patched in place, so scroll position, focus and JS state survive every edit. A separate free extension, not part of the platform, and useful whether or not you ever ship a device.
Designed, partly implemented, and moving. These are what early access exists to get feedback on.
| Item | State | What's left |
|---|---|---|
| Public portal | In progress | Account sign-up, fleet views, release management and the operator surface. The internal control panel works; the public one is being built on top of it. |
| arda CLI | In progress | Command surface is drafted and the device-side half is done. Finalising names, flags and the auth flow alongside the portal. |
| Printer APIs | In progress | USB thermal printing works today. Generalising discovery, adding standard Linux print paths and real status reporting — paper-out and offline detection need per-printer protocol queries. |
| GPIO APIs | In progress | API shape settled. Raspberry Pi support first, then wider board coverage, PWM and interrupt-driven watches. |
| Camera & QR | In progress | Capture and code scanning under active development. Multi-camera selection after that. |
| Wi-Fi management | In progress | Status and interface reporting work. Scan, join and secure credential storage are being added. |
| ARM64 builds | In progress | Runtime builds for ARM64 and Raspberry Pi, with the peripheral matrix tested per board. |
| API documentation | In progress | Reference pages are published and will firm up as each API group locks down. |
On the list, thought through, not yet written. Ordering here is genuinely influenced by what early access users ask for.
Debian-based whole-device provisioning with device profiles, so bare hardware becomes a registered appliance in one boot.
Run and debug an ArdaForm application on your workstation against a simulated device, including fake printers and GPIO.
On-device detection, enrolment and matching for attendance and identity confirmation, with templates that never leave the hardware.
Prompts, chimes, volume and output selection for queue displays and accessibility.
Optional drop-in modules for scales, payment terminals, NFC readers and label printers.
Rules over telemetry — device offline, disk filling, printer down, queue backing up — routed to email, webhook or chat.
Multiple operators per fleet with roles, scoped tokens and an audit trail of who did what to which device.
Run the control plane inside your own infrastructure for customers whose procurement rules require it.
The ordering of the planned list is not fixed. If your product is blocked on one specific thing, say so — it moves.