Purpose and Goal
The initial implementation comes from following this Youtube Tutorial. At the end of the tutorial, the game is contained within a ~700 line single <script> tag within an HTML page. I started with a major refactoring where I split the app into 10 modules, applied strict linting rules, and converted the whole thing to TypeScript.
Tech Stack Explanation
Node and React are arguably the most popular front and backend technologies in the web world right now (Aug 2022). I figure they are a good place to start since I don't have experience with other frameworks.
I choose Vercel for hosting because they make it really easy to deploy QA/Staging/production environments that are triggered when a Github branch is updated. As I get more experienced with TypeScript, I will probably migrate to something like Deno that is fast and TypeScript-focused.