Inspiration
The tech industry suffers from a significant lack of diversity, with less than 50% of software engineers being people of color, and only 12% Black and Hispanic combined. I built Interview Ninja to help underrepresented groups like Black and POC candidates overcome barriers in coding interviews. My goal is to create an AI-driven tool that provides real, unbiased interview practice and contributes to a more diverse tech workforce.
What it does
Interview Ninja uses AI to conduct coding interviews, offering an interactive experience with a lifelike talking head feature. It allows candidates to practice coding interviews in a realistic setting, with instant feedback, simulating the pressure and flow of real interviews. The tool also aims to reduce bias by creating an equitable interview environment where skills, not backgrounds, are the focus.
How I built it
I designed the UI in Figma and developed the project using Next.js for the frontend and database integrations with Firebase. For the talking head generation feature, I utilized Google Colab and ngrok to manage GPU hosting, allowing for dynamic generation of interviewers that simulate human interaction. It does this using ElevenLabs TTS and Wav2Lip which is a GAN built for talking head generation. I'm currently working on my own GAN but the quality isn't as good due to the compute needed to train the model.
Challenges I ran into
One of the major challenges was finding free GPU hosting for the talking head generation feature. I ended up using Google Colab with ngrok, but the resources are not always consistently available, causing delays or interruptions in the talking head feature. Managing these external dependencies was a significant hurdle in making the feature run seamlessly.
Accomplishments that I'm proud of
I’m proud of building Interview Ninja as a solo project from scratch, from designing the UI to implementing a fully functional AI interview assistant. The lifelike talking head feature is a highlight, bringing an extra layer of realism to the interview experience. Most importantly, I’m proud of the impact this tool can have on increasing representation and diversity in tech.
What I've learned
I learned a lot about managing complex AI services, especially around hosting GPU-intensive applications. Using tools like Google Colab and ngrok taught me how to work with available resources to keep the project moving forward, but also highlighted the need for more robust, scalable infrastructure.
What's next for Interview Ninja
The next step is to get Interview Ninja into the hands of engineers and recruiters at AfroTech, where I can connect with like-minded professionals who share the mission of making tech more diverse. I’m also looking into securing more stable GPU hosting options to improve the consistency and availability of the talking head feature. Also to finish building MempoGAN which is a Generative Adversarial Network built on top of LipGAN to replace and improve the inference speed of the Wav2Lip model currently being used.
Built With
- firebase
- gemini
- google-web-speech-api
- judge0
- next
- ngrok
- python
- typescript





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