fold  ·  flick  ·  toss  ·  boing
drag a toy & let go to fling it — tap for a boing
flicks0
how it's made ↗
toy box ⇣ meet the toys
shelf № 1 — everyone lives here

The Toy Shelf

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.

Dart Plane

The classic. Eight creases, zero patience. Cuts gravity to 22% mid-flight and points its nose wherever it's going.

8 foldsglide A+bounce C−

Origami Crane

Twenty-one folds of quiet dignity. A thousand of these grant a wish; this one grants a very respectable boing.

21 foldsgrace Abounce B

Hopper Frog

Press the back and it jumps. Press it again — it jumps again. Peer-reviewed playground science since forever.

14 foldshop A+chill F

Ninja Star

Two sheets locked into one shuriken. Spins with intent, lands with attitude, bounces like it meant to do that.

2 sheetsspin Abounce B+

The Crumple

Every failed first draft becomes one. No two are alike, all of them bounce beautifully. The desk's most honest object.

∞ foldsbounce A+regret 0

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.

lab notebook — page 2300

How the Boing Works

No physics library, no 3D — just one damped spring per toy and a lot of squash-and-stretch. Here's the whole trick, annotated.

the desk gravity · 2300 px/s² one spring · k 210 · damping 11 squash: scale(2−s, s) stretch on the way out speed streaks appear past 520 px/s fig. 1 — the anatomy of a boing

1The Spring

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

2Squash ↔ Stretch

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)

3Speed Streaks

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)
poke me
Live specimen. This square runs the exact spring above — same constants, no canvas, just a CSS transform driven by the same three lines of math. Poke it and watch it fight its way back to a perfect square. ← every toy on the desk does precisely this, constantly
gravity 2300 px/s² flick cap 2600 px/s pointer history 90 ms max toys 26 max confetti 420 libraries 0 desk keys 1–5 spawn · C confetti · T tidy
fortune dept. — est. recess, 3rd grade

Ask the Paper Oracle

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.

no fortune yet

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.

the fine print, folded neatly

Colophon

What this site is made of — printed on the back of the box, as tradition demands.

Paper stock

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.

Physics dept.

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.

Ink & type

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.

Sound booth

Nothing was recorded. Flicks, thuds and boings are filtered white noise and pitch-bent oscillators, synthesized in WebAudio only after you opt in.

Palette

Seven values, one mood:

kraft cream ink tomato teal butter sky

Assembly

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.

Printed nowhere · weighs about as much as a paperclip Confetti is 100% post-consumer draft copy