Inspiration

We as Computer Science student have all once studied for a coding interview. I know how frustrated it is, you have grinded hundreds, thousands of Leetcode problems, and still have no clue how Dynamic Programming works. But you know what is more frustrated ? It is that when you study Leetcode with your friends, you struggled in sharing your ideas or explaining your solution. That's why Meetcode is here (yes Leetcode with a M instead of L), to help your journey to conquering Data Structure more excited.

What it does

Meetcode is a platform that help your DSA learning experience more interactive and collaborative. It support pair programming, allow multiple users to share a code editor and work on a same problem. It also have a drawing board feature, which tailored specifically for DSA learning experience. It allows you to visualizing some common data structure like Linked List, Tree, Graphs, with simple interaction like drag and drop, Ctrl-C Ctrl-V shortkeys, etc.. to facilitate learning experience (yeah no more ugly annoying Binary Tree drawn on MS Paint)

How we built it

Our frontend is a React app, and our server is a Golang codebase. Golang is a great choice for our backend, due to its performance in concurrency programming, allowing to setup a reliable and fast connection between users

Challenges we ran into

Our biggest challenge is setting up a reliable WebSocket connection between users and the code editor. we also faced challenges in synchronizing real-time edits made by multiple users within the code editor

Accomplishments that we're proud of

Our (or my) biggest accomplishments is just have all the needed functionality for the app to work (need lots of work on UI btw)

What we learned

I learned so much specifically about the WebSocket protocol, which is great for real-time data transfer

What's next for Meetcode

Meetcode has a lot of potential. Our mission is to help CS students around the world have the least painful experience studying DSA. Some functionality that we might include in the future are:

  • Allow creating different room
  • Allow to store as a note (and have multiple note)
  • More functionality on visualizing tool

Built With

Share this project:

Updates