2026 · Leongline · Designer and engineer
A two-player 3D board game for phone and PC, live at leongline.com
The rules live in one shared package with their own tests, the 3D board is drawn with Three.js inside a Svelte 5 app that installs as a PWA, and a small server runs the online matches. Themes change the whole scene, not just the colours.
- built with
- Svelte 5Three.jsTypeScriptVite PWANodeVitest
- 2
- players
- 3
- pieces each
- phone + PC
- runs on
same device or online
place, then slide along the lines
one codebase, installs as an app

The game
Each player has three pieces. Place them, then slide along the lines until three of yours sit in a row. Easy to learn in a minute, hard to play well.
What I built
A 3D board drawn with Three.js inside a Svelte 5 app, with themed scenes (a wooden table, a moonlit shrine, and more) that change the whole world, not just the colours. It installs as a progressive web app on a phone and runs in any browser on a PC.
Architecture
A monorepo with three parts: a core package that holds the rules and is tested on its own with Vitest, a client that renders the board and handles input, and a small server for online matches. The client never decides who won; the rules package does, on both ends.