-
CodeMingle. Better Together: Anywhere, Anytime.
-
Welcome to CodeMingle.
-
Step 1: Login & Create an Account
-
Step 2: Explore our built in coding system & enter your name to get online.
-
Step 3: Interact with other online hackers and code together!
-
How we are unique.
-
Values, Ethical Concerns & Web App Limitations
-
Our Future :)
Inspiration
Many aspiring software engineers toil at Leetcode when practicing for technical interviews, but this grind quickly becomes unproductive, bordering on unhealthy. The frustration of spending hours stuck on problems can be disheartening and isolating for less experienced students and seasoned veterans alike. However, having a solid technical background is critical for breaking into the increasingly-competitive tech industry.
This inspired CodeMingle, a web app that creates a unique social coding experience for students and experienced hackers alike. The web platform pairs online users together so they can complete coding challenges in tandem. Our team seeks to create a safe, accessible, and trustworthy tool that will bolster interview preparation – building the technical and communication skills that are necessary to be successful in the tech industry.
What it does
After creating an account and logging in, CodeMingle prompts you to join a “coding session" and will pair you with another online user from any part of the world. Together, you can work on mini-challenges while seeing each other live via the Dolby.io video features. Up on future improvements, users will be paired based on their preferences for technical experience level and the difficulty of the coding challenges (beginner, intermediate, advanced). As of right now, due to time and resource constraints, the matching is completely random, and users do not have much control over who they will be matched with.
This environment will foster community, learning, and personal growth. CodeMingle hopes to give experienced hackers the chance to deepen their understanding and beginners the chance to learn under the leadership of passionate individuals– creating a unique online association of pre- and professional CS.
How we built it
We built CodeMingle using Firebase for the backend (data storage) and authentication and React for the frontend. We incorporated Dolby.io's API as part of our video interaction functionality and we used Ace Elements, an open-source JS library that helped us render parts of the code editor. We also used codewars API to source our coding challenges.
Challenges we ran into
For two of us, this was our first hackathon. For all three of us beginners, this was our first time building an application from the ground up. Some challenges we encountered throughout the process included
- Multisourcing
- Coordinating Dolby Video
- Embedding the codebox feature
CodeMingle also posed various ethical challenges that we tried to address in our project. We used Artefact Group's “Tarot Cards of Tech” to guide our assessment of limitations around CodeMingle:
- The Forgotten: Our app is targeted toward CS students and those who share an interest in CS topics. Naturally, complete beginners and those without CS experience will not be able to enjoy this app to the fullest extent. While CodeMingle can be a great place to practice logic problems and learn from others, it is a tool and not a teacher, which we make very clear in our opening statement that all members see before logging in to each session.
- Big Bad Wolf/Super Fan- The special part of our platform is how it brings CS people together in a low-stakes, open, “face-to-face” environment. However, this also makes CodeMingle vulnerable to abuse (verbal/mental/sexual), as often seen in the more vague counterpart platform Omegle.
Accomplishments that we're proud of
In light of the uneasiness surrounding the recent mass tech layoffs, we’re proud to offer a supplementation tool for people of varying CS levels to use for professional & personal goals. Additionally, we are proud to offer a platform for social connection. Our specialization on CS subjects, while perhaps not as neutral as other chat apps like Discord, provides a sense of community difficult to recreate in larger online places.
What we learned
During the development of our app, we gained a great deal of experience in working with Firebase and React. Firebase is a popular platform for building real-time applications, while React is a widely used library for building user interfaces. We were able to integrate these two technologies to create a dynamic and interactive platform that allows users to connect and practice coding interviews together. Through this process, we learned how to effectively navigate Firebase and React, and how to use their various features to create a seamless user experience.
In addition to our technical experience, we also gained a deep understanding of ethical practices, particularly within chat-based systems. While we acknowledge that chat-based systems require a high level of ethical consideration and attention to detail, we have done our best to ensure that our platform promotes ethical practices. Though we were not able to implement features such as user reporting or monitoring systems, we recognize the importance of data privacy and security and have taken steps to ensure the safety of our users. We understand the significance of these issues and remain committed to upholding ethical standards in our work.
Another one of the most significant lessons we learned was the importance and challenges of integrating different APIs to create a feature-rich and dynamic platform. We incorporated APIs from Dolby.io and Codewars to enhance our platform's video streaming capabilities and ensure the qualities of the coding challenges. Working with these APIs was a valuable learning experience that allowed us to create a more robust platform. We learned how to navigate their various features and integrate them seamlessly with our system.
What's next for CodeMingle
As we look to the future of our web app, we are excited to explore opportunities for growth and improvement. One area that we are particularly interested in is the development of a premium subscription feature, powered by Checkbook.io, that would offer extended learning options to users. With this feature, beginner coders could connect with experts in the field and gain valuable insights and guidance as they work through coding challenges together. There could be some transaction either as a tip or proper payment, that could encourage more experts to get involved and share their expertise. Besides, by allowing users to choose the type of challenge they wish to work on, we aim to create a customizable and personalized learning experience that caters to the unique needs of each user. Moreover, developing an in-browser sandbox/compiler that can allow users to compile and try out their code would be another reasonable next step.
In addition, we are also exploring the option of incorporating competitive mini-games into our platform. These games would offer a fun and engaging way for users to test their skills and knowledge, while also encouraging them to collaborate and compete with one another. By creating a community of users who are invested in their own learning and development, we hope to foster a sense of engagement and excitement that keeps users coming back to our platform again and again. We could have a ranking system that is similar to chess.com or lichess that could encourage the users to be even more involved in each other's learning.
Overall, we see a huge opportunity for growth and development in the world of coding interview preparation, and we are excited to be at the forefront of this movement. By creating a platform that is both collaborative and competitive, we aim to provide users with a comprehensive and holistic learning experience that sets them up for success in their careers. With the addition of premium subscription options and mini-games, we believe that our platform has the potential to become the go-to resource for coding interview preparation and professional development.

Log in or sign up for Devpost to join the conversation.