Hackathon Submission
Inspiration
While doing algorithm practice for my job interviews, I noticed that sometimes I couldn't figure out the issues in my code right away and had to spend time understanding it (i.e., the time, space complexity, and why it doesn't work). Most of us don't have enough time to figure out why ours doesn't work or how it can be improved, so we conform to the fixed solutions from others. Another challenge when practicing for coding interviews is that we don't find feedback that is programming language specific except on forums.
What it does
With this platform, you can generate a coding interview question based on the difficulty you want (easy, medium, hard) and the data structures you want to practice questions in. Then, you get custom feedback on the code you write in the platform and submit. The AI will analyze: time complexity, space complexity, programming language, optimal solution, a report on what you can improve on, and test cases. In addition, you can find all the YouTube videos on solutions from different creators in one place by just a button click. This will save time and effort for anyone practicing for a coding interview.
How I built it
I built it using Next.js for the front end and used FastAPI for the backend. I used the documentation on Google Gemini API to figure out what I need. I used few-shot prompting and custom output parsing to structure the data in a proper format. I used https://ui.shadcn.com/ as the UI library as well with some custom components. I also used the Langchain library. I used YouTube tooling from Langchain and set up an endpoint to get any relevant YouTube videos on the question.
Challenges I ran into
Langchain had a lot of issues supporting the Google API. Certain libraries were not working as expected, so I had to resort to custom prompting. Gemini would also hallucinate, and this is a big challenge in this case because there are definite answers to the coding questions.
Accomplishments that I'm proud of
I think the platform is something I would use myself. I tried to get some of my housemates who are coders to try it and give me feedback, and I think they all find it useful if they had to practice for a coding interview.
What we learned
Generative AI could really aid in prepping for coding interviews for Software Developer positions. It could be a good replacement for the archaic and old preparation tools that are static webpages that don't cater for custom learning and interview preparation.
What's next for Interview Alpha AI
A chatbot could be a good extension to ask any follow-up question, a public link sharing system could help to make it a good interviewing tool and increase its use case. To fix hallucinations, additional tooling could be used to ensure that the accuracy of the outputs is higher.
Log in or sign up for Devpost to join the conversation.