The Council of Elrond — gathering the company around one table

B.G.M — a collaborative platform for tabletop role-playing

A personal web application where a game master and their players share one campaign: codex, maps, dice rolls, notes and scenarios. The site is live and open to visit.

Technologies
  • PHP 8
  • Symfony 7
  • Twig
  • MySQL
  • Mercure
  • Docker

A role-playing table scatters its information across notebooks, loose sheets and chat apps: the game master keeps the world on their side, each player keeps their own, and nobody works from the same version.

I designed and built B.G.M on my own, in PHP 8 / Symfony 7, from the data model to the interface. The platform is organised into five modules: a codex of entries (creatures, non-player characters, spells, locations, equipment), maps where participants are placed, a dice roller whose results are visible to the whole table, shared notes alongside a private notebook, and scenarios that reference codex entries directly. A user account gives access to one's campaigns.

The production deployment runs on Docker, on a VPS; Mercure Hub pushes real-time updates to the whole table.

View demo

Back to projects