Dart Plane
The classic. Eight creases, zero patience. Cuts gravity to 22% mid-flight and points its nose wherever it's going.
Five residents, five personalities, one physics engine. Hover a card to see the fold — then toss one onto the desk and go play with it.
The classic. Eight creases, zero patience. Cuts gravity to 22% mid-flight and points its nose wherever it's going.
Twenty-one folds of quiet dignity. A thousand of these grant a wish; this one grants a very respectable boing.
Press the back and it jumps. Press it again — it jumps again. Peer-reviewed playground science since forever.
Two sheets locked into one shuriken. Spins with intent, lands with attitude, bounces like it meant to do that.
Every failed first draft becomes one. No two are alike, all of them bounce beautifully. The desk's most honest object.
Tossed toys queue up above the desk and drop the moment you scroll back. The desk holds 26 — after that, the oldest resident politely retires.
No physics library, no 3D — just one damped spring per toy and a lot of squash-and-stretch. Here's the whole trick, annotated.
Every toy carries one damped spring on a scale value sq. Impacts kick its velocity; the spring pulls it back to 1 with a frame-rate-safe exponential damp — identical wobble at 30 or 144 fps.
sqv += (1 − sq) · 210 · dt
sqv *= e^(−11·dt)
sq += sqv · dt
The spring renders as a volume-preserving scale along the impact axis: squash one way, stretch the other. Paper never gains or loses area — that's what makes it read as material, not rubber.
rotate(axis)
scale(2 − s, s)
rotate(−axis)
Past 520 px/s, three cream lines trail each toy, growing with speed and fading with it. Cheap, cartoonish, and exactly why a good fling feels fast.
if (speed > 520)
len = r · (1.2 + k·2.2)
One sheet, eight folds, infinite wisdom. The fortune teller is the playground's oldest supercomputer — tap it, let it chomp, and accept whatever truth it spits out.
The slip is blank. The oracle is patient. Tap it.
Results certified 100% accurate by the entire back row of a third-grade classroom. Not valid for homework, weather, or crushes. Re-tap for a second opinion — the oracle never repeats itself twice in a row.
What this site is made of — printed on the back of the box, as tradition demands.
One HTML file. Zero frameworks, zero images, zero build step. The kraft grain is an inline SVG turbulence filter; the torn edges are CSS clip-paths.
Hand-rolled springs and semi-implicit Euler on a 2D canvas. Soft-circle collisions, a glide hack for the plane, squash-and-stretch on every impact.
Caprasimo for the die-cut display letters, Nunito for everything you can press, JetBrains Mono for the lab numbers. Warm ink #33261a — never true black.
Nothing was recorded. Flicks, thuds and boings are filtered white noise and pitch-bent oscillators, synthesized in WebAudio only after you opt in.
Seven values, one mood:
Art-directed, folded and coded by Claude in one sitting. No AI-generated imagery anywhere — every pixel on this page is drawn by code, every sample is math.