← Back to blog

Building Sideboard

Sideboard is a companion app for board and card games. Instead of building a separate screen for every game, it gives you modular components — counters, tokens, tracks, timers, dice, decks and scorepads — that you recombine into reusable presets for whatever you're playing.

A generic toolkit, not game-specific screens

The core bet is that a general toolkit beats hard-coded screens. Design the pieces once, let players assemble them, and a single app covers an unbounded number of games.

One event-sourced core

Under the hood, every change is a command run through a reducer. That one mechanism powers three features at once:

  • Undo / redo — just replay or rewind the command log
  • The action log — a readable history of the table
  • Multiplayer sync — ship commands between devices

Offline-first, host-authoritative multiplayer

There are no accounts and no cloud — all data stays on the device. Multi-device play runs over local WiFi: one device hosts, others connect via mDNS discovery and WebSockets, and the host sends full state snapshots on connect.

Bilingual from day one

Sideboard shipped with full English and Arabic support, including right-to-left layout — the same principle this very site now follows.