Inspiration

One word: J O B Finding a job is hard, but there is a straightforward route, get good at Leetcode, ace the technical interview, and finally, get the job! The problem lies in how to get started, and that's where we came up with the slogan: it starts with a line. Our initial idea was collaborative programming where users can work together to solve a Leetcode question, but with a twist. Read on to figure out how our project works.

What it does

Players can create game servers and invite their friends. Within the servers, the host can choose the coding format and question. There are two coding formats currently, PVP and Line By Line. PVP allows the user to solve the chosen Leetcode question in a time based competition against another player. This added intensity forces users to think quickly, and act even quicker. The idea behind this is to stimulate an interview setting by adding more stakes to the problem solving. By including friends in the Leetcoding process, we hope to encourage more users to practice problem solving.

The second mode is Line By Line. This mode is an unique adaptation of the traditional Leetcode process. Users will take turns writing exactly one line of code, comments and indentations count as an edit. By limiting how much an user can contribute at one time, we are forcing users to evaluate their code at a greater extent, which forces them to write cleaner, and more concise code. This mode also tests user's communication skills, and evaluates how well an user can explain their thought process in a concise line. Finally, users have to be adaptive in their code, and potentially change their code design based off their partner's. This imitates a traditional technical interview, where the interviewer may try to lead the coder in a different direction with their hints.

How we built it

To create the personal game servers, we used Socket.io. This allows for real time collaboration for the Line By Line feature, and for comparative results for the PVP mode. In addition, we used React, Vite, Tailwind, Concurrently, and TypeScript to build the frontend of the project. We used Supabase for the backend. Finally, we used Monaco Editor for the code editor.

Challenges we ran into

We ran into a lot of bugs in the Line By Line mode due to having to handle many specific code cases.

What's next for eLeet

If we had more time, we would have love to implement a GPS feature, that detects nearby users. Players can then challenge nearby users in a PVP match.

Built With

Share this project:

Updates