March 21, 2025

Today was a very thesaurle-focused day! Spent some time cleaning up the codebase a bit to get rid of some old cruft, and then a great whiteboarding session to figure out how we wanted to implement the game logic.

Essentially, we decided that we wanted the ability to find the shortest path between any two nodes, so that we could ensure the path the game was taking was (one of) the most direct paths, and also so that the game can give feedback to the user as they follow their path to determine if they’re getting further from a more direct route or closer (using a warmer / colder type of feedback).

This seemed like a perfect use case for a graph database, as all words can be easily stored as notes with a directed synonym relationship / edge between them. Most of these databases have some sort of “shortest path” function already built in. For the first iteration, we decided to use Memgraph, because it seemed much simpler to get started and running locally (without pesky sales people from Neo4J calling us).

It was pretty easy to get set up – using Docker seems like the paved / recommended path. The tutorials and instructions are super helpful, too. The nitty gritty of that is documented in the pull request. Some day, I’ll make that repo public again. :)