Skip to content
Nebras.

Lamma (لمّة)

  • React
  • TypeScript
  • Colyseus
  • Node.js
  • Three.js
  • SQLite
  • Capacitor

Real-time party games for 2–10 players: one 4-letter code, link or QR puts everyone's phones and laptops in the same game. 18 room games plus solo modes, levels, ranks, voice chat and four languages.

Mission
Make the café-table game night work on any phone: no install, no account needed, everyone in with one code.
Built with
React, TypeScript, Colyseus, Node.js, Three.js, SQLite, Capacitor
My role
Everything: product, design, front end, game server, 3D, DevOps · 2026

The problem

Friends at a café table want to play together, but most party games need everyone to install the same app, make accounts, or share one screen.

What I built

Lamma is a set of real-time party games for 2 to 10 players. Everyone joins from their own phone or laptop with one 4-letter code, a link or a QR code.

  • Rooms by 4-letter code, link or QR
  • 18 multiplayer games: a 3D card table, Ludo, a 3D globe, a tank arena, co-op platformers and more
  • Bots with three skill levels
  • Solo modes with record boards
  • Accounts, levels, badges, leaderboards and a "Dynamic Duo"
  • Voice and text chat
  • Tunisian, Standard Arabic (right to left), French and English
  • A web app that installs as a PWA, and an Android app that updates itself
  • An admin panel with live stats

On every screen

Laptop
Phone

Engineering notes

Every rule and every secret lives on the server. Real-time games are checked by replaying each player's inputs on the server, so scores can't be faked. It runs smoothly on a low-end Android phone.

The stack

React, Vite and TypeScript on the front end. Node.js with Colyseus for server-authoritative rooms, Three.js for the 3D tables, SQLite for data and WebRTC for voice. The Android app uses Capacitor, with over-the-air updates. It runs on my own VPS (Docker and nginx) and on Firebase Hosting.

More projects