Board Master

Head to head competitive typing test featuring words per minute and accuracy scoring, built on Express.js and Socket.io


The Process

Inspired by typings.gg, this optimized typing-skill application is loaded with features. I went into this application with the idea of creating a head-to-head typing application to challenge yourself and others. Once I started the coding phase, many ideas started popping out at me to build such as a lobby system and chat capabilities. Other features I am proud of are the lobby options, scoring system, and practice lobbies while you wait around in the challenge lobby. When a player joins a lobby in a room, the player can choose the amount of words and with the max word length that the challenge will render. The scoring system calculates your accuracy and words per minute; corrected and uncorrected errors are accounted for in the scoring calculation algorithm.

I chose to write both the client and server in TypeScript which taught me an incredible amount about TypeScript. This presented me with a good opportunity to work with TypeScript namespaces and classes as well as Node.js design concepts which I dont normally work with in the React Ecosystem.

Take Aways

  • Expanded my knowledge of OOP techniques and architecture
  • Developed extensive experience with Socket.io API
  • Became more knowledgeable with real-time client to server communication

Technology stack

  • TypeScript
  • React
  • Express.js
  • Socket.io
  • SASS

Resources

Links