Screentop is a tabletop sandbox that supports cards, dice, boards, counters, and hidden player state. In the future I'd like to add scripting support so that more complex game mechanics and rules can be implemented.
Client stack: Typescript, React, Apollo, and a custom react-reconciler renderer that targets canvas
Server stack: Elixir, Phoenix, Absinthe
Happy to answer any questions and would love your feedback! Also I have two asks for HN:
1) Content - if you know any designers or publishers that would be interested in creating digital versions of their games please direct them my way!
2) Individual(s) to team up with - this is a solo side project right now but I'm interested in working with others, technical or non-technical, to see where this goes.
Discord: https://discordapp.com/invite/wva8ebh Email: david@screentop.gg
Best of all, if you use simple unchanged files for other dynamic stuff like JSON etc, you can just generate those on build and serve those files in the host directly as the 'response' to a simple REST request, which is sometimes overlooked despite being the most fundamental form of a REST API.
https://astro.build/
I came across this after researching various options for a website that had, mostly for my own entertainment, restrictions on wanting to be mostly statically generated but customizable easily without learning a lot of new syntax / etc, something JSX-like with Markdown support etc, and MDX was an immediate find - and astro was the easiest SSG I found for it after trying with 11ty and several others. Actually felt like a delight playing with it.
Other web frameworks support this too, if you look for "static export" options. Next.js, for example, supports this via the getInitialProps function.
What I like especially about Astro, that you perform this data loading during build time from any component/file on your page. With Next.js, this is only possible via the top level Page component.