Hall of Justice
A serverless, zero-overhead storefront built to catalog and sell a massive personal collection, featuring real-time state synchronization and automated stock auditing.
View detailsThe assignment was to build a real-time, multiplayer poker game leveraging a Node.js backend server, a React frontend, Redux for state management, and Socket.io to establish persistent, real-time communication between clients and the server.
Players log in to the virtual casino by providing a screen name, the server address they wish to connect to, and a table password, after which they are seated. The game automatically commences once four players are seated at the table.
The application implements standard Texas Hold’em rules, complete with blinds and dynamic betting rounds. On their turn, players can execute three actions: Call, Raise, or Fold. At the showdown, the server evaluates all remaining hands programmatically, determines the winner, and awards the pot.
I built the game server using Node.js and Socket.io. I started by building a headless simulation of the poker engine to verify the game loop and rules engine before adding any UI. Once the backend engine was fully stable, I built the React client, integrating a secure login flow and dynamic socket events to coordinate seating. After establishing a stable connection, I synced the backend game engine events with the frontend UI.
To maintain predictable state across complex game transitions, I managed all client-side state using Redux, leveraging Redux Toolkit to streamline the codebase and eliminate boilerplate.
A serverless, zero-overhead storefront built to catalog and sell a massive personal collection, featuring real-time state synchronization and automated stock auditing.
View detailsAn interactive web application that makes comic book grading accessible to collectors, estimating grades based on the industry-standard 10-point scale.
View detailsA virtual shortbox web application to catalog comic book collections, list duplicate issues for sale, and purchase missing issues from other collectors.
View details