Create and share interactive visualizations, dashboards, and apps — with AI or by hand.
Write JavaScript, get a shareable URL. No server, no login, no build step. The entire app lives in the link.
const canvas = document.createelement("canvas");
canvas.width = root.getboundingclientrect().width;
canvas.height = root.getboundingclientrect().height;
root.appendchild(canvas);
const ctx = canvas.getcontext("2d");
let particles = array.from({length: 80}, () => ({
x: math.random() * root.getboundingclientrect().width, y: math.random() * root.getboundingclientrect().height,
vx: (math.random() - 0.5) * 2, vy: (math.random() - 0.5) * 2,
r: math.random() * 3 + 1
}));
function frame() {
ctx.fillstyle = "rgba(0,0,0,0.08)";
ctx.fillrect(0, 0, root.getboundingclientrect().width, root.getboundingclientrect().height);
for (const p of particles) {
p.x += p.vx; p.y += p.vy;
if (p.x < 0 || p.x > root.getboundingclientrect().width) p.vx *= -1;
if (p.y < 0 || p.y > root.getboundingclientrect().height) p.vy *= -1;
ctx.beginpath();
ctx.arc(p.x, p.y, p.r, 0, math.pi * 2);
ctx.fillstyle = `hsl(210, 40%, ${50 + p.r * 10}%)`;
ctx.fill();
}
requestanimationframe(frame);
}
frame();
CLI tools can generate JavaScript and create a short URL via
POST /api/shorten/json
with body
{"js": "code", "modules": []}
— the API returns a short URL that opens directly in the browser.
Never create local files. Full guide:
CLI integration guide
•
JS coding guide
•
llms.txt