A few weeks ago I wrote about building a forum where rooms die when people stop talking. The other half of that idea: there are no profiles — the rooms you pass through draw a map that becomes your identity.
So what does that look like for everyone at once? I layered every room-to-room move real users made in the last 30 days into one map. It's live and zoomable: https://noding.app/map?lang=en (refreshes every 5 minutes).
How it's built
-
Data: a
Transitioncollection (from room → to room) aggregated by edge. Re-entering the same room, lingering, and leaving to the plaza don't count as paths. -
Excluded: seeded persona accounts, staff accounts, bots, and flagged/hidden rooms. Personas are denormalized as
isSeedon each transition, so they drop out with one$match. - Rendering: no libraries — a hand-rolled canvas force layout. Lesson learned: cap the repulsion force and the per-step velocity, or a couple of nodes get flung to infinity and your "fit to view" collapses the rest into a corner.
- Progressive labels: each room gets a zoom threshold by visit rank, so names fade in as you zoom (capped at 2.6×). Particles flow along edges in the direction of the move.
- One aggregation service feeds both the internal (authenticated) diagnostic endpoint and the public (trimmed, 5-min cached) one.
What it shows (after exclusions: 241 people · 111 rooms · 131 moves)
- People entered rooms 669 times straight from the plaza, but moved room-to-room only 131 times. Four visits out of five end in the first room. If "your path is your identity" is going to work, getting people to a second room is the bottleneck — the map made that obvious.
- The hub is
프로그래밍(programming) — the first stop for a wave of visitors from a Korean tech news site — with the thickest flow going on tollm→LLM의 한계("limits of LLMs"). - Only 6 of 126 edges were walked in the same direction by 2+ people. Everything else is a path one person took. "Meeting people who walked the same path" is still a hypothesis.
- Korean and English rooms barely mix (5 crossings).
What's next
The map now lives on the landing page, and each person's own map is shown under My. I also started surfacing "people who passed through X went on to Y next" from the collective data as a first, very thin "next room" forecast. Whether that sharpens as the map grows is the next thing to measure.
If you've built graph visualizations for small-but-growing datasets, I'd love to hear what you'd do differently.

Top comments (0)