If the person who made this is around: I'm the author of Fireplace (https://github.com/jleclanche/fireplace/), a Hearthstone simulator, and I worked a ton on the Hearthstone game state protocol (docs: https://hearthsim.info/docs/gamestate-protocol/). Hit me up by email (profile) or Discord (jleclanche @ https://discord.gg/hearthsim-devs), I bet we could have a really interesting knowledge exchange :)
This is making me want to try to implement a Hearthstone prototype in it to see if it's feasible. I've been dying to implement a copy-on-write Hearthstone simulator. Although this seems to tie the game logic with the protocol quite tightly, which hopefully is fixable or can be worked around; one of the designs I worked on with my simulator was a pluggable game state protocol to allow separation of a game state server that dispatches the gamestate data from the simulator itself that could then be implemented in any language. Incidentally, this allowed our Hearthstone replayer (written in React: https://github.com/HearthSim/Joust) to connect to "real" games and be a live client, in a way that is eerily similar to this project's showcase.