Inspiration
Our inspiration for Chatmate came from the need for a more interactive and realistic way to prepare for coding interviews. We wanted to create a tool that would not only provide coding challenges but also simulate the pressure and uncertainty of an actual interview. We also saw recent developments in technology indicating that something like this was now possible.
What it does
Chatmate is an app that simulates a coding interview with a chatbot. Users can select the company and the difficulty level of the interview, and receive personalized coding problems and challenges. During the interview it helps you keep pace with the given time limit, and after the interview it provides quantitative metrics based on natural language processing strategies.
How we built it
We built Chatmate using a combination of natural language processing and machine voice libraries (OpenAI, Google-Cloud, ), as well as a database of coding problems sourced from LeetCode and HackerRank. We also used a chatbot and natural language processing framework called “OpenAI” to simulate the conversation with the interviewer and provide an interactive interview experience to our clients.
Challenges we ran into
Fine-tuning the chatbot's natural language processing capabilities to make the interview simulation as realistic as possible was a complex task. We first had to learn how to dynamically generate prompts for it to analyze and then for it to respond with some context to what both the person and the chatbot had said previously. To do this, and to do it real-time, took a substantial portion of the project, but we are incredibly satisfied with the final result. Also, adding this into a GUI was challenging given we were working with a library called “Kivy” that was new for all of our members.
Accomplishments that we're proud of
One of the main accomplishments that we're proud of with Chatmate is the ability to simulate a realistic coding interview experience. We believe that it will be a valuable tool for developers preparing for coding interviews and help them improve their skills. Additionally, the ability to customize the difficulty level and target specific companies allows for a more personalized and effective interview preparation.
What we learned
We learned a lot about natural language processing, machine learning and chatbot development. Additionally, we gained a deeper understanding of the technology (OpenAI’s GPT3) that will be used in supplement to many careers as it continues to develop.
What's next for ChatMate
We plan to continue to improve and refine the app, adding more coding challenges and more company specific interaction, as well as incorporating advanced features such as the ability to save and review previous interviews with quantitative metrics displaying the user’s performance. We also aim to expand the app to other platforms such as mobile devices and web browsers, something that should be relatively easy with Kivy’s cross platform abilities.
Built With
- google-cloud
- gpt3
- kivy
- openai
- python

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