I was always fascinated by systems for creating stories, like Rory’s Story Cubes and its emulators, or card alternatives like Tell Tale and the Inventafavole (or its second take) among the many. Why not make something just for fun?
TL;DR
Enter ordeal and have fun!
If you are curious about the syntax, you can read more about it in the tutorial page for Ordeal::Model.
Code
The code for the site on GitHub. You can use the shuffling stuff though, it’s available at Ordeal::Model’s GitHub repository. The module isn’t released in CPAN yet, mainly due to its liquid interface as of now.