I created a virtual "Hat" for playing the name in the hat game with friends during the extended stay-at-home orders from the COVID-19 pandemic.
The game is meant to be extremely low-tech: the goal is simply to provide a virtual "hat" (or bucket) that people can put slips of paper with words (names, for celebrity) into.
Players then take turns pulling random words out of the bucket while a timer counts down.
The game does a little bit of scoring (it tells you how many words you got), but it's really not designed for that and it's not designed to tell users how to use it.
My hope is this makes it easier to play charades, celebrity, pictionary, and other games over whatever video-conferencing tech you're using to connect with friends and family.
The code to make the game sync between users is a little less-than-ideal because I'm committed to Netlify's free hosting. I use FaunaDB to store the words and game information and then I use netlify lambda functions to do the syncing. To avoid getting charged for functions, I have to limit how often the game can check. Techniques like long-polling or websockets are the ideal way to handle this kind of thing, but I can't use either on netlify's free system.