Make the network visible.
Use your phone to control this screen through DataNet. No account, app, or setup required. Every movement is published, delivered, and rendered live.
Connecting
demo.text.basicWaiting for your phoneScan the code, then touch, tilt, or tap.
Waiting for your first signal…
Your phone→DataNet→This screen— ms
What just happened?
One device published. Another subscribed.
Your phone sent touch, tilt, or tap data to a shared channel. DataNet delivered that message to this browser, where it became motion. The same pattern connects sensors, installations, audience devices, servers, and creative tools.
Phone → installationSensor → browserPython → p5.jsArduino → lighting
Build your own
The same flow, in a few lines.
The public experience uses a temporary server-issued session. Your project uses a scoped API key and the published @datanet/core package.
npm install @datanet/core
import { DataNet } from "@datanet/core";
const client = new DataNet({
apiKey: "ak_your_scoped_browser_key",
});
client.on("connect", () => {
client.subscribe("your.channel", (data, meta) => {
console.log("received", data, meta);
});
});
await client.connect();
client.publish("your.channel", { x: 0.5, y: 0.5 });Go deeper
Browse the demo gallery →More platforms, payloads, and hardware.
The gallery contains the browser playground, binary lighting work, SDK examples, and cross-platform experiments.