Arcade
Browser games I've worked on — pick one and play. (Desktop recommended.)
Move the joystick (or ▲▼ / click), then hit the red button to play.
Channel 1 — turn the dial to switch · 3 = pixel reel
My Instagram reels, on a Game Boy. ◀ ▶ switch reels · tap the screen to play · SELECT shares · START opens it on Instagram.
A little toolbox — pick one.
📐 UV ToolkitTexel density · OBJ mesh analyzer · padding · checklist ↗ 🌫️ Noise ForgeSeamless procedural noise — Perlin & Worley, two-layer blend, height + normal maps ↗ 🟣 Normal BakerHeight map → tangent-space normal map — strength, OpenGL/DirectX, lit + 3D sphere preview ↗ 🗂️ Texture LibraryYour saved textures & noise/normal maps — named, searchable, downloadable ↗ 🧩 Free TexturesPublic gallery of free seamless textures & normal maps — download & use ↗ 🔮 Pocket KaleidoscopeSpin a mirrored color disc — glow or glass-bead patterns, your own images, PNG snapshots ↗ 🐠 Reef Tank 3DA live 3D aquarium — orbit the glass tank and tap to feed schooling fish ↗ 🐟 Pocket AquariumA calm 2D fish tank — tap the water to feed the school, with bubbles and plants ↗ 🎬 Shot BoardShotGrid-style shot & task tracker — statuses, priorities, notes ↗ ✏️ FlipbookFrame-by-frame animation sketch pad — onion skin, playback, GIF/WebM export ↗ 🥁 TaikoMateFree Pomodoro timer & task planner for your desktop — focus in work/break cycles · Windows ↗Export from Blender (File → Export → glTF 2.0 · .glb), drop it below to spin it in 3D, then hit the green button. Prototype: a browser can't read Blender live, so this loads your exported .glb; Send to Portfolio grabs a thumbnail + a ready‑made data snippet and launches the rocket. 🚀
or click to choose a file
Drop a .glb to begin.
Drag the slider to wipe between two shots. Upload a file or paste a link for each side, then Save MP4.
Strip an image to its values — grayscale or posterized bands — or flip to Busyness to see where detail clusters and how busy the composition reads.
Pull the dominant colours out of a reference. Tap a swatch to copy its hex.
Doodle right here — layers, blend modes & opacity, brush, pixel, dot and 🧩 stamp tools (ready-made eyes, noses, mouths, hats, glasses…). Hold the canvas ~1s (from any tool) for a quick radial menu — tools and stamps — pinch to set the size, or go ⛶ Fullscreen. Save a PNG, or export your process as a 🎬 10-second video.
Pick a stamp, then click the canvas to place it. It uses your current colour & the Size slider.
Build a LinkedIn banner (1584×396, 4:1) from your work. Add images, arrange them into a strip, drop your name on top, export a PNG. Uploads always export; portfolio images export when the host allows it.
Datamosh any image — RGB split, slice tearing, scanlines & noise, all live. Dial the amount, zoom & speed, then export it as a video.
An interactive version of my résumé — everything here is driven by resume-data.json, so it's a one-file edit to update.
A Calendly-style availability picker — set your weekly hours, then pick an open slot and book it. Preview: bookings save in this browser only (the live, shareable version is a cloud page).
Meet with Miki Butler
The colour DNA of @mikicompany — palette & value breakdown per post, plus a signature palette across the whole grid. Add more via ig-swatches.json or drop in images.
Trace your mark: hold the pad and swirl your finger to draw a little squiggle — your unique mark becomes your monster, so everyone who draws gets a different one. (Web pages can't read your phone's real fingerprint sensor — nothing outside the OS can — so this reads the mark you draw instead.) Save it, share it, or 🎲 roll a random one.
A little 3D viewport (WebGL — Blender-in-the-browser vibes): orbit the head, pick a part and click to stick it on. Select a placed part to move, scale, spin or delete it. Save a snapshot when it's just right.