Trace is a collaborative code execution visualizer, two people watching the same code run, live. This week I finished its deploy slice. The part that stuck with me was a test I ran in production mode, because that test caught a bug my dev runs had never shown me.
I opened a room in one browser and joined from another, then ran Python and JS snippets in both. Both sessions got the same trace broadcast, which is exactly what should happen. Then I tried the awkward case, two people joining at the same instant. On the first socket, member_joined could land before hello. That is a confusing first run for a new user. They would see someone else arrive before the room had even said hello to them.
My dev runs never caught that. Dev mode is forgiving in ways production is not, and the ordering that felt solid locally turned out to depend on timing I had not stressed.
The fix was small. I added a join lock that serializes join and leave, so hello stays first. The failing run is the red evidence, and the passing rerun plus a regression test that held stable over five runs is the green. I trust that order now because I watched it break first, then watched it hold.
The same pass caught a quieter leak. Sandbox errors no longer carry driver stderr, so a crash traceback cannot quote user source back out. That one matters more than it sounds. An error message that echoes code back to the wrong session is a small hole, and small holes are the ones that ship unnoticed.
Rate limiting held under a burst too, with 8 of 25 rapid requests answered 429. The AI co-pilot returned a 503 without a key, as designed, since no key is set yet. The backend suite is 90 of 90 green, up from 87.
The rest of the deploy slice was quieter work. Render blueprint, backend Dockerfile, env examples, a Render then Vercel deploy guide, and a security checklist pass. All of that is ready.
I am calling it deploy-ready, not deployed, and that distinction matters. Trace is not live yet. The Render service creation and the Vercel import are still dashboard steps, and the Dockerfile has never been built locally, so the Render build will be its first real Docker test. Ship day is Monday.
If you build anything with rooms and sockets, run your collab tests against the production build before you call it done. Dev mode flatters you. Production mode argues back, and that argument is worth hearing before your first real users do.
Top comments (0)