// the find
kevinshen56714/SkyOffice
Immersive virtual office built with Phaser, React, Redux, PeerJS, and Colyseus.
A pixel-art virtual office where teammates walk around as 2D characters and video chat triggers automatically when avatars get close. Built on Phaser 3 for the game layer, Colyseus for authoritative server-side state sync, and PeerJS/WebRTC for the actual video. Aimed at remote teams who want something warmer than a Slack huddle.
Proximity-triggered video chat is the right design choice — you don't manage calls, you just walk up to someone, which maps naturally to how offices actually work. Colyseus is a solid pick for the multiplayer state; it handles room lifecycle and schema diffing cleanly so you're not reinventing WebSocket message routing. The shared `types/` package keeping client and server schemas in sync is smart — prevents the drift that kills most hobby multiplayer projects. Screen sharing scoped to individual 'computer' tiles is a nice concrete interaction model rather than a global broadcast.
PeerJS routes video through a public PeerJS cloud server by default, which means you're sending your video traffic through a third party you don't control — self-hosting the PeerJS server is documented but easy to miss. The project hasn't had meaningful commits in over a year and dependencies are aging; Colyseus in particular has had breaking API changes between major versions, so forking this today means you're inheriting a snapshot that may not upgrade cleanly. No authentication whatsoever — anyone with the room URL walks in, which is a hard blocker for any real internal team use. Mobile is explicitly unsupported with no roadmap, which matters if your team is distributed across time zones and people are occasionally on phones.