Inspiration
LeetBuddy was inspired by the struggles we faced as students in a software background, dedicating countless hours to LeetCode in preparation for big tech interviews. We know the frustration of wrestling with tough concepts, missing nuances like edge cases, and feeling lost without tailored guidance. Specifically, we had no proper interview tool that gets us accurate practice in such environment and also a convenient tool to learn efficiently. That’s why we created LeetBuddy—a seamless, educational Google Chrome Extension that puts all interview-oriented learning tools right at your fingertips. With real-time AI support, personalized insights, and an interactive whiteboard, LeetBuddy transforms your LeetCode space into a hub for mastering the skills that matter most.
What it does
LeetBuddy is a Google Chrome Extension that users can open on any LeetCode problem, and unlock various tools, oriented around interview preparation and coding education, in order to learn and code more efficiently. The user can chat with a Generative AI, where the model will have real-time updates on the problem context and code space, including the description, hints, edge cases and the user’s current code + understanding. LeetBuddy also has a whiteboard feature, allowing the user to draw out their interpretation of the problem, commonly expected during job technical interviews, to further aid their interview preparation. Additionally, the Generative AI will have real-time updates of the whiteboard. The real-time updates of the chat and whiteboard allows LeetBuddy to guide the user with a personalized teaching experience. If a user is coding for long periods of time, constantly switching between problems, LeetBuddy saves the historical user context of each individual problem, so learning opportunities are optimally tailored toward helping our individual coders. Through a comprehensive Google Chrome Extension, all these tools are conveniently accessible alongside the user’s LeetCode space.
How we built it
- React: Frontend framework for UI
- Tailwind: CSS framework
- Express: NodeJS backend server framework
- Multimodal Generative AI (Google Gemini and Cohere): Text and image processing
- Chrome Extension: Manifest files and Chrome tab usage
- Page context scraping: scraping all visible content on the leetcode question page
- Redis: Timed database to automatically delete sessions after an elapsed time for chat history
- Docker: Containerized backend deployment
- Render: Host the backend live
Challenges we ran into
- Implementation and unit testing for a Google Chrome Extension was different from what we have done in the past and we needed to find robust methods for testing
- The solution success rate of LeetBuddy depends on how accurate the Generative AI is, given the context
- Cohere was not multimodal, and did not support image analysis well towards understanding the context behind the whiteboard feature
Accomplishments that we're proud of
- Seamlessly integrating all the features into the UI robustly, and using good architecture practices and organization to implement
- Creating a very useful application that we know we would even use ourselves, and other coders or engineers would take advantage of
What we learned
- Learned the development and integration behind a Google Chrome Extension
- Learned the development and integration behind Generative AI models
What's next for LeetBuddy
- LeetBuddy wants to add an interview mode, where simulates a strict interview environment, including tailored hints or guidance at certain time intervals
- LeetBuddy wants to add image generation to further edit the user’s whiteboard
- LeetBuddy wants to incorporate an immersive experience for users by incorporating Cline.ai. The use of Cline.ai will be to have the AI directly print code within the LeetCode terminal which the user is working in, allowing for a intuitive and immersive experience.
Credits
Rafay Nasir: Drawing the LeetBuddy Mascot
Built With
- cohere
- docker
- express.js
- google-gemini
- react
- redis
- render
- tailwind

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