Thank you for the comment! I'll take the design stuff into account for the next time I update the game (might be a while, but should happen eventually).
Architecture-wise, yeah, the game makes API calls to a server hosted on fly.io which communicates with an AWS database. This isn't actually a Twine game, it's iffinity, though that's still similar to Twine's Snowman. I've tried Sugarcube and had a hard time with it, but Snowman should be able to do everything this game does. My specific setup has everything in a bunch of external Typescript files that get compiled into one main Javascript file that's included in the actual build. Checking the source code might be useful—readBoard.ts and writeBoard.ts in script_files are what control the server interaction.