Practicing for programming interviews is sometimes stressful, many of us have been at the point where we're grinding out coding questions online nervously in order to get better.

Many of us like programming for fun and are disheartened by the gruelling process. We wanted to bring the fun back into interview preparation process and competitive programming scene - With an online matchmaking game for competitive programming!

What it does

In HackCraft you face off other programmers to be the first to finish an competative programming question. You'll be matched against players of your skill level in order to ensure you both have a fair game against equal competition, and the first to pass all tests wins!

How I built it

The frontend: React, TypeScript and Bootstrap piece together our UI, featuring Microsoft's Monaco text editor for writing code.

The backend: Server side computation is done in Node.js with TypeScript, and our player and matchmaking information is stored in a Redis database.

Challenges I ran into

Deploying our game online so we could play together, and communicating matchmaking between clients

Accomplishments that I'm proud of

Working full stack TypeScript! Passing objects between the frontend/backend was never easier. Getting the service to work across clients was lots of fun too!

What I learned

Typescriptttttttt. We also learned a lot about sanboxing programs and dealing with code execution on a server

What's next for HackCraft

2v2, 3v3, recruiter portals, sponsored competitions and more game modes!

Share this project: