My site, dhseadev.online, runs on WordPress.com. Managed hosting, block theme, no server code of my own. It is the least likely candidate for real-time multiplayer you can imagine.
It now has a shared toy room where visitors drag glyph magnets around together, a positivity wall where strangers leave stamps that persist for everyone, an arcade page with a live chat, and — as of this week — a "read receipt" card at the bottom of every blog post, where you can stamp that you read it and see how many other humans did too.
Zero backend. Zero plugins I wrote. One open-source library, one CDN <script>, and a short list of WordPress-specific traps that each failed silently — which is the part worth writing down.
The library: playhtml
playhtml (by Spencer Chang) gives you collaborative HTML elements with a single data attribute. Put can-move on a div and every visitor can drag it — and everyone sees everyone else's drags, live, with the position persisted. can-spin, can-grow, can-duplicate do what they say. can-play is the escape hatch: you define defaultData, an event handler that calls setData, and an updateElement renderer, and playhtml syncs the state object across every open browser via PartyKit.






