Playground

A cabinet of things I code, collect, and write — from playable prototypes to small scraps and research.

Transfer — photos that fly from A to B

2026
Vanilla JSSpring PhysicsBezier

A file-transfer motion study recreated 1:1 from a reference video: photos pop out of one avatar, arc across a spring-following bezier, and shrink into the other. Drag either avatar and the stream lags elastically. Hover a photo mid-flight to freeze it and hit ✕ to unsend it before it lands.

Sign to claim — a signature that replays to verify

2026
Vanilla JSCanvasSignature

A prize-claim agreement you sign by drawing on the pad or typing your name in a script font, then watch re-traced stroke-by-stroke to verify the claim. Canvas capture + replay, collapsible legal terms, and Pending → Processing → Completed states. Built for masii.

Journey — a 2D map that morphs into a 3D globe

2026
Three.jsWebGLShaders

A dotted world map that morphs into an interactive 3D globe (Three.js / WebGL, with a custom vertex-shader morph). Hover a glowing pin to reveal a photo and a short story from each place I've lived and worked — plus a Map/Globe toggle and chronological journey arcs.

Toast — a Sonner recreation

2026
Vanilla JSAnimationToast

A faithful vanilla HTML/CSS/JS recreation of Sonner — stacking toasts, hover-to-expand, swipe-to-dismiss, plus promise & action toasts. Zero dependencies.