Mostly everyone has heard of LeetCode, using it as a platform to practice and prepare for interviews, individually. But a lot of times, we learn better when we collaborate and bounce ideas off of each other. It is best to do this in-person, but it's not always to do this. Plus, sometimes even in-person, you want a more seammless way to learn code together, rather than turning your laptop screens to each other.

That inspired us to slightly spin off of LeetCode. Introducing, MeetCode

What it does

MeetCode allows users to join and create virtual rooms, where they can customize which LeetCode problems they can work together. They can choose different difficulties, topics, and popular LeetCode lists. Users can create virtual rooms for little study sessions or mini casual competitions. Questions can be randomly chosen, or they can build a curated list of problems.

Users can communicate with each other by using the chatbox, as well as spectating their peers to easily provide guidance.

How we built it

  • NextJS/React with TypeScript
  • SocketIO for real-time communication
  • MongoDB for SocketIO adapter
  • Firebase/FireStore for storing room state and sessions
  • Selenium to help log into LeetCode

Challenges we ran into

There were a lot of features we wished to add, meaning that the complexity of the app state (frontend and backend) increased substantially, and thus had to cut out some features. Additionally, we ran into some deployment issues at the very end.

Accomplishments that we're proud of

We are proud of creating a sleek looking web app that has many of the essential features we believe will benefit many students. We are quite proud with the number of features it has, given the amount of time and small prior experience we had to work on it.

What we learned

We learned deeply about the technologies used in our app, as well as when to take risks and when to cut down on our wants.

What's next for MeetCode

We want to add features that we were not able to add this hackathon:

  • Timed sessions
  • Better leaderboard scoring
  • Voice chat (?)
  • Flesh out and demolish pesky software bugs
Share this project: