Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

504 Almanac

The 504 Almanac is an experiment in navigating publicly-available information about the worlds of the board game 504, most of which is on websites where the navigation is difficult or obscure. This portal-like page provides a big, easy-to-use, mobile-friendly navigation UI as well as simple URL navigation.

If you're unfamiliar with 504 or want more details about the almanac, look here:


A demo is available at

To randomize with the keyboard, press r. To navigate directly to a world, e.g., 456, use:


Version 2.0

New in version 2.0, the Almanac incorporates some (static, local, aggregate) information about ratings and tags in order to randomize to particularly good worlds, bad worlds, discussed worlds, and as-yet unexplored worlds. These are accessed with the button row above the world name; the center button is still a simple randomizer.

BGG links now go to both a forum text search for the world (or partial world description, e.g., 12x) at BoardGameGeek, and, separately, a tag search for the world there. The tag count is included, but not necessarily up to date.

Version 1.1.1

The dialer UI was changed from dragging to clicking or typing.

Version 1.1

Various fixes for mobile.

Version 1.0

The dialer brings up links individual pages for rating each world at the official 504 website, rules for each world at the unofficial (but adequately blessed) rules site, and a tag search for the world (or partial world description, e.g., 12x) at BoardGameGeek. All links are to off-site information.

The dialer required dragging.


To build your own static site (requires node):

  1. Clone the project with Mercurial or SourceTree
  2. cd into the repository directory at the command line
  3. npm install
  4. npm run start
  5. Open dist/index.html.

Note that Chrome may object to opening index.html from the filesystem. In that case you should serve the set of static files from a webserver, or remove the offending code (something optional having to do with the page history), or use a different browser.

Credits & License

  • Code by M. C. DeMarco.
  • Draggable balls from React Motion by Cheng Lou.
  • Icons by Font Awesome.
  • Background by SVGeneration.
  • MIT License


An experiment in navigating the worlds of 504, based on React Motion.







No packages published