An ordering page built around dragging rather than ticking. Toppings are dragged onto the dough, land where you release them, rotate slightly, and nudge clear of their neighbours — so no two pizzas look stamped.
Price updates on every action instead of at checkout, a coverage meter runs from sparse to chaotic, and the pizza names itself from what's actually on it. Finishing runs a three-stage bake: oven glow, browning and char, then steam.
Built as one self-contained page with no build step. No ingredient photography was available, so every topping is drawn in CSS from a small shape vocabulary — scaling from a 28px tile to a full slice with zero image requests.
Drag is a known accessibility risk, so every drag has a keyboard equivalent: focus a tile, press Enter, topping placed. Placed toppings are labelled buttons, a live region announces each change with the running total, and all motion respects reduced-motion preferences.
Like this project
Posted Aug 4, 2026
An ordering page built around dragging rather than ticking. Toppings are dragged onto the dough, land where you release them, rotate slightly, and nudge clea...