SyntaxRush - Building a Real-Time Tech Party Game with AI
I recently launched Syntax Rush, a fast-paced online party game designed for developers and tech enthusiasts. The concept is simple: describe a word or phrase without using the word itself, and get your team to guess as many as possible before the timer runs out. Think classic party game mechanics - but rebuilt for the browser and tailored to the tech world.
What started as a fun idea quickly turned into an interesting technical challenge involving real-time multiplayer, state synchronisation, and AI-assisted development.
The Idea
I wanted something:
- Quick to learn
- Multiplayer
- Browser-based
- No installs or logins
- Works across devices
- Tech-themed for the IT industry
The result was Syntax Rush - a free, real-time game where players create a room, share a link, and start playing instantly.
Demo
Demo video of Syntax Rush
Core Features
- Free to play
- No login required
- Real-time multiplayer rooms
- Shareable deep links
- Rotating describers each round
- Timed gameplay
- Tech-themed cards (frameworks, concepts, tools)
- Works on desktop, tablet, and mobile
- Cross-browser support
- Instant join UX
Tech Stack
I built Syntax Rush using a modern, lightweight architecture:
Frontend
- Next.js (App Router)
- React
- Tailwind CSS
- Client-side state management for UI responsiveness
Backend / Real-Time
- Supabase Realtime (WebSockets)
- Postgres (room + game state)
- Row-level security for isolation
Hosting
- Vercel (edge deployment)
This setup allowed me to avoid running my own WebSocket infrastructure while still achieving near real-time updates.
Real-Time Multiplayer Architecture
The biggest challenge was synchronising game state between multiple players:
Each room maintains:
- Current round
- Active describer
- Timer state
- Current card
- Score per team
- Player list
- Turn order
Instead of polling, I used Supabase and websockets (not Supabase real-time). When one player:
- Starts a round
- Skips a card
- Guesses correctly
- Ends a turn
…the state is updated in Postgres and instantly broadcast to all connected clients.
This keeps every device in sync without complex socket management.
Game Flow Design
The flow is intentionally lightweight:
- Player creates a room
- Others join via share link
- Host starts game
- Describer receives card
- Timer begins
- Team guesses
- Score updates live
- Next player becomes describer
- Repeat
No onboarding friction. No accounts. Just play.
Using AI During Development
AI played a big role in accelerating development. I used it for:
1. UI iteration
Quickly generating layout ideas, adjusting spacing, and refining the visual hierarchy.
2. Game mechanics logic
Validating turn rotation logic, edge cases, and timer behaviour.
3. Real-time state modelling
Discussing how to structure shared state and avoid race conditions.
4. Prompt-driven scaffolding
Generating:
- Supabase schema ideas
- Room handling logic
- Deep link sharing
- Timer synchronisation patterns
5. Content generation
Creating initial sets of tech-themed cards such as:
- Frameworks
- Programming languages
- Dev tools
- Concepts
- Cloud platforms
This drastically reduced the time needed to populate the game.
UX Decisions
A few deliberate choices improved usability:
No login required
Removes friction. Players can join instantly.
Shareable links
Room URLs act as invites.
Mobile-first compatibility
Many players join from phones during meetings or social settings.
Minimal UI
Focus on gameplay, not menus.
Fast round transitions
Keeps the energy high.
Performance Considerations
Real-time games can feel slow if not handled carefully. I optimised for:
- Minimal payload updates
- Local optimistic UI updates
- Lightweight room state
- Avoiding unnecessary re-renders
- Debounced updates where needed
The result is responsive gameplay even with multiple players.
Challenges
Some of the trickier problems included:
- Preventing multiple players from triggering the same action
- Keeping timers in sync across devices
- Handling player disconnects
- Managing turn order reliably
- Avoiding stale state during rapid updates
These were solved using a combination of:
- Server-authoritative state
- Atomic updates
- Subscription-based UI refresh
- Simple but strict game state transitions
What’s Next
Possible enhancements:
- Custom card packs
- Public lobby
- Team mode improvements
- Sound effects
- Emoji reactions
- Score history
- Spectator mode
- AI-generated cards
- Difficulty levels
Try It Out
Syntax Rush is completely free and works in any browser. No signup required.
I’m actively looking for feedback — especially around gameplay, usability, and feature ideas.
If you try it with your team or friends, let me know how it goes.
Comments ()