Shantell and I made a web version of our family’s Story Game. Usually everybody starts a story on a piece of paper, passes it around the circle, and continues the story they receive. The important part is that you only get to see what the previous person wrote. By the end, the story has generally gone somewhere nobody intended.
TaleSpinning does the paper passing for us. Players join a named game, get ready in a lobby, and write their part on the parchment. When they pass it on, the next person gets the previous contribution rather than the whole history. Once the stories are finished, everybody can read the complete results.

The browser side uses JavaScript and AJAX, with PHP handling the game state. I kept the storage file-based: each room has a JSON status file containing its players and state, and each paper is another JSON array. A player’s paper queue tells the server which story they should work on next. The next-part request finds the first empty slot and returns just the entry immediately before it. That little detail is what preserves the folded-paper part of the game.
The server also keeps track of readiness, turns, and the finished stories. If somebody leaves, their waiting papers can be handed to the next player. The file-writing helper uses exclusive locks and retries, since several browsers can be asking for updates at the same time. It is polling rather than a WebSocket connection, and it does not need a database server.
I like this kind of project because the technical part has a very specific job: keep the bookkeeping out of the way so we can write ridiculous stories together. Shantell’s parchment-and-book presentation makes it feel much more like our game than a plain form would.