Real-time · WebSocket · 3D

Watch your
visitors live
in 3D

Drop one script tag on your site. Instantly see every visitor as a glowing avatar wandering through your pages — mapped as rooms in a 3D house.

See live demo
Live right now — Demo Room
4 visitors in
2 Home
1 Downloads
1 About
rooms.woodryda.com/demo

Three steps.
Zero config.

No analytics account, no cookies, no GDPR headache. Just a WebSocket and a few lines of code.

01
Define your rooms

Map your URLs to room names — / = Home, /downloads = Downloads. Takes 30 seconds.

02
Paste the snippet

Copy one <script> tag into your site's HTML. Works with any stack — static, React, Next.js, WordPress.

03
Open your house

Go to rooms.woodryda.com/your-id and watch avatars appear in real-time as visitors browse your site.

Ready to see
your visitors?

No account needed. No credit card. Just paste the snippet and you're live.

Common questions

Everything you need to know about rooms.woodryda.com.

Short answer: Yes — by design, not just by policy.

rooms.woodryda.com was built with privacy as a technical constraint, not an afterthought. Here is exactly what happens when someone visits your site:

  • No cookies. The tracker does not set any cookies — not first-party, not third-party.
  • No persistent identifiers. Each visitor gets a random session ID (e.g. s-x7k2m9) that is stored only in sessionStorage — it is deleted the moment the browser tab is closed. It does not survive page reloads between sessions.
  • No personal data collected. No name, no email, no IP address, no device fingerprint, no User-Agent string is stored anywhere.
  • No data sold or shared. Visitor data is held in server memory only and is never written to a database, sold, or shared with third parties.
  • Automatic expiry. Session data disappears from server memory after 3 minutes of inactivity.

Genuinely real-time — sub-second latency. The tracker script opens a persistent WebSocket connection to the server. When a visitor navigates to a new page, the event is pushed instantly and the avatar moves within milliseconds. There is no polling, no delay.

Yes. The tracker patches history.pushState and history.replaceState and listens to popstate, so it captures navigation in single-page applications automatically — no extra configuration needed.

A room is a visual representation of a page or section of your website in the 3D house. You define the mapping — for example /downloads.html = Downloads — and the system groups your pages into rooms. Multiple similar URLs can share one room (e.g. all /blog/post-* URLs map to a single Blog room).

Visitor session data (room, current page, last-seen timestamp) lives exclusively in the server's memory. It is never written to any database. If the server restarts, all session data is cleared. Sessions older than 3 minutes are automatically removed. Your site configuration (rooms mapping) is stored in Supabase.

No. When you register your site, you provide your domain (e.g. hyperate.io). The server checks the Origin header of every incoming WebSocket connection — if it does not match your registered domain, the connection is rejected immediately. Someone using your Site ID from a different domain gets nothing.

Yes, currently free. This is an early version — paid plans with higher visitor limits, longer session history, and custom branding may come later. Sites created now will be grandfathered in.