Open to senior marketing leadership opportunities across MENA and Europe

Personal Project

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.

AI & GamingNode.jsThree.jsWebRTCClaude APIPersonal Build

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.

1

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.

2

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.

3

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.

4

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.

View Live System

Password protected, private to a friend group

Back to AI Systems