Inspiration

As avid gamers and budding computer scientists ourselves, we always love a good challenge. Taking inspiration from some of the LAN games of our childhood, as well as wpm-testing games and LeetCode, we decided to take bits from all of these places to create a program that allows users to have a LAN style speed coding competition with AI-generated prompts.

What it does

Our program, Competitive Online Coding (COC), allows a user to either join an available game or create their own game. Once the users are in a game lobby, they each click the "Ready" button. Once all users in the lobby click the "Ready" button, the game then begins and a competitive programming problem is generated using AI for the users to solve. The users then compete head-to-head to see who completes the program first. Once a user hits the "Submit" button with code that correctly solves the given prompt, a "You win!"/"You lost." message is displayed depending on the user, and the users are then directed back to the main lobby.

How we built it

We divided our team into front-end/back-end development, and created a general minimum viable product (MVP) and continued to add ideas and features, refining our program until we reached the time limit of the Hackathon.

Challenges we ran into

Working with new technologies like Docker and integrating the ChatGPT API for the first time were both difficult tasks. Learning to communicate between front and backend teams was also a challenge for a first time team and dealing with git pushes/pulls also posed a significant of an issue.

Accomplishments that we're proud of

We're proud of creating our first usable, group project together. We're even more proud of being able to really push past our initial MVP and diagrams to create a program with interesting features, like an AI prompt generator.

What we learned

We learned a lot about how to host an app, web sockets, git, react, API integration, and other various aspects of the tech stack and development tools. Most of all though, we learned how to create a product together. We learned how to create MVP from a brainstorming session, how to execute quickly and, most importantly, communicate with each other to effectively implement our ideas.

What's next for COC

We plan to add more functionality to COC, further integrating AI to assist users, implementing a chat feature, expanding the scope of the questions asked and languages supported. We also plan to use our app to build quick problem-solving skills and test our knowledge of Data Structures & Algorithms with each other and whoever else believes in its use case.

Share this project:

Updates