Inspiration

We were inspired by the idea of a developer tool that both helps point out code issues and talks you through them like a real mentor or TA would. We've all had experiences where hearing an explanation out loud made things click way faster than simply decrypting static messages. Our goal was to bridge the connections being felt when talking with mentors to the ease of use of online code reviewers, making sure it's pedagogical, interactive, and human when it teaches rather than simply fixes.

What it does

GitGood reviews your code like a live mentor with a voice and attitude that you choose. You paste your code, pick a tone, and it starts walking through your logic, highlighting bugs line-by-line, speaking the feedback aloud, and letting you include, apply, or skip code suggestions in real-time. You can undo, jump between issues, and even see improved snippets before accepting them.

How we built it

We used Gemini for dynamic code analysis as well as for determining the tones for the personalities. We used ElevenLabs' text-to-speech (TTS) ID's to pair fitting voices to the respective attitudes.

Challenges we ran into

One of our main issues was setting up the 'Speak' function on GitGood to work with the TTS ID's from ElevenLabs. In the process, we repeatedly ran into various errors that resulted in us nearly exhausting our allotted token count from ElevenLabs. Luckily, we were able to figure out a final fix after refactoring some code.

Accomplishments that we're proud of

Three fully-speaking review personas that actually work with a third-party TTS service. Seeing the codebase being changed in real time based on simply approving fixes offered. Seeing the number of issues in a code (labeled under topics such as logic, best-practices, optimization, etc.) increase/decrease in real time whether we undo or approve new changes.

What we learned

Feedback lands differently when delivered with a voice that aims to teach rather than fix.

What's next for GitGood?

We plan to incorporate functionality to store previous queries and check over time if the developer is fundamentally improving their general coding practices. We also want to help add more options that cater to a wider audience, and more fine-tuning for the code issue fixes.

Built With

Share this project:

Updates