Personal Project
WolfChat
Node.js · Three.js · WebRTC · Socket.io · Claude API · Railway
WolfChat: From Idea to Deployed Multiplayer Game in One Tool
A private social gaming platform built for a friend group using Claude Code as the sole development tool. No prior game development experience. Shipped in multiple sessions.
Personal Project · Live in Production
4
Game Modes
FPS shooter, video call, draw and guess, trivia night
6
Max Players
WebRTC peer-to-peer voice and video
~$5.25
Monthly Cost
Total running cost, hosting plus AI
0
Prior Game Dev
No game engine, no external developers
The Problem
The Problem
Friend groups need a private space to hang out remotely that goes beyond a standard video call. Existing tools are either too casual (WhatsApp) or too complex (Discord).
The goal was a single private URL with voice always on and rotating activities: something that feels like being in the same room.
The Build
The Build
Built entirely with Claude Code across multiple sessions. No game engine. No external developers. Just prompts and iteration.
Server
Node.js and Express
Real-Time State
Socket.io for multiplayer state
3D Rendering
Three.js for first-person rendering
Voice and Video
WebRTC peer-to-peer (zero server cost for audio)
AI Content
Anthropic Claude API for generated content
Hosting
Railway with auto-deploy from GitHub
Four Modes Shipped
Four Modes Shipped
One private URL, voice always on, and four distinct ways to hang out, each built and shipped in the browser.
Play + Chat (FPS Shooter)
First-person shooter built from scratch in Three.js.
Hand-built de_dust inspired map with PBR textures from AmbientCG.
Kenney blaster GLB weapon on mobile, custom Three.js pistol on desktop.
Server-authoritative hit detection, kill streaks, and respawn system.
Procedural sound effects via the Web Audio API.
Real-time voice via WebRTC throughout.
Video Call
WebRTC peer-to-peer video with up to 6 participants.
Front and back camera with flip toggle.
Screen share on desktop.
Speaking indicators via a Web Audio API analyser.
Avatar customization with color and emoji.
Pinch to zoom on mobile.
Draw + Guess
Real-time canvas synchronized via Socket.io.
Claude API generates words at three difficulty levels.
3-layer repeat prevention using question fingerprinting.
Portrait layout on mobile, full toolbar with colors and tools.
Podium screen with stats after each game.
Trivia Night
Claude API generates questions across 5 categories: Geography, History, Science and Nature, World Culture, and Sports.
Speed-based scoring: faster correct answers earn more points.
Streak bonuses, first-guesser bonus, and difficulty progression.
5-category rotation with repeat prevention.
Mobile and desktop responsive layouts.
Key Technical Decisions
Key Technical Decisions
The choices that kept the platform cheap, fair, and reliable.
Single Railway Instance
Pinned to numReplicas: 1 to ensure all players hit the same server. This fixed a critical room-splitting bug where players were silently landing on different instances.
Peer-to-Peer Voice and Video
WebRTC means voice and video never route through Railway, keeping hosting cost under $5/month regardless of usage.
Server-Authoritative Hit Detection
Hits are validated on the server rather than trusted from the client, preventing cheating in the shooter.
Claude Called Once Per Round
AI content is generated once per round, not per player, keeping monthly AI cost under $1 for a group of 6 playing regularly.
Hand-Built Three.js Map
A hand-built map replaced a CS 1.6 OBJ import after persistent geometry bugs. The simpler solution worked better.
What This Demonstrates
What This Demonstrates
A single-tool build that spans the full stack, from real-time networking to 3D rendering to AI content.
Full-stack real-time multiplayer architecture
WebRTC implementation without third-party services
3D rendering in the browser without a game engine
AI integration for dynamic content generation
Mobile-first design with desktop parity
Iterative product development: concept to live product using only Claude Code
Result
Result
Live at wolfchat-production.up.railway.app
Password protected, private to a friend group
~$5.25/month total running cost
Built in multiple Claude Code sessions with no prior game development experience
Tools Used
Tools Used
Claude Code
Sole development environment
Claude API
Content generation
Railway
Deployment
GitHub
Version control
AmbientCG
PBR textures, CC0
Kenney.nl
3D weapon model, CC0
No game engine. No prior game development experience. One tool, a few sessions, and a live multiplayer platform a friend group actually uses.
Password protected, private to a friend group