A portfolio is usually a brochure. This one is a place. Open the community chat, pick a name — one name, forever — and you get a doodle avatar, a device tag, a city, and a blocky character standing in a shared pixel kanto.
The world is endless and deterministic: the same trees, sari-sari stores, jeepneys, and roaming dogs generate for everyone, forever, in every direction. Movement runs over WebSockets on a Durable Object — one room, every player, instant. Chat messages appear in the chatbox and as speech bubbles above your head at the same time.
Then there's the part nobody expects from a portfolio: slimes wander the world, and anyone can fight them. Three punches, one splat, +5 XP — levels ride on your name. The admin walks around in steel armor with a cape, two skeleton servants, and a sword that can fell a tree, a fridge, or a visitor (don't worry — everyone respawns in three seconds).
Every piece runs on the edge: Cloudflare Pages for the site, D1 for identity and chat, KV for presence, and one Durable Object for the realtime room. No game engine, no framework — a canvas, a socket, and plain JavaScript.