DEV Community

Alex-Edward Iakab
Alex-Edward Iakab

Posted on

๐ŸŽฎ I built a real-time multiplayer browser game with Supabase + Next.js โ€” no backend server required

Hi devs ๐Ÿ‘‹

I recently launched a small game project Iโ€™ve been working on:
๐Ÿ‘‰ Emojitsu โ€“ A real-time emoji dueling game

Itโ€™s a fast-paced browser game with two modes:

Multiplayer: Two players battle live in real time
Single-player: You fight a smart, competitive AI

I built it completely solo, and the core idea was to see how far I could go using only frontend tech and a backend-as-a-service โ€” no traditional backend server, no custom WebSocket setup, no auth.

๐Ÿ”ง Tech Stack
Frontend: Next.js (App Router), TypeScript, TailwindCSS
State Management: Zustand
Backend (no server): Supabase

๐Ÿง  What Supabase Handles
Supabase was honestly a game-changer for this kind of real-time interaction. I used it for:

๐Ÿง  PostgreSQL โ€“ for persisting match and player state
๐Ÿ”„ Realtime sync โ€“ via supabase_realtime (no manual socket setup!)
โšก Edge Functions โ€“ to handle fast game logic
๐Ÿ“ฆ RPC (Remote Procedures) โ€“ for structured, secure access to game logic

The game runs completely in the browser, and all game logic (besides the AI and animation) is handled by Supabase and static client code.

๐Ÿ’ก What I Learned
Supabase makes real-time multiplayer possible without writing your own backend server

Edge Functions + RPC is a clean way to handle game logic without giving full DB access

Zustand is simple but very powerful for UI + logic sync

It's 100% possible to launch a real-time multiplayer game as a solo dev, fully on modern frontend + BaaS tools

๐Ÿš€ Try it out
You can play the game here (no sign-up or install):
๐Ÿ‘‰ Emojitsu

Would love feedback on the architecture, performance, or gameplay. Thanks for reading!

Top comments (0)