Inspiration

Inspired by the repetitive and time-consuming nature of manual code reviews, I sought to create a tool that could automate this process while maintaining high standards of quality. The goal was to free up developers' time to focus on more creative and strategic tasks.

Learning Experience:

Throughout the development process, I gained valuable insights into: Machine Learning: I delved into the intricacies of machine learning algorithms and their application to code analysis. Natural Language Processing: I explored techniques for understanding and interpreting code as a natural language. Software Engineering Best Practices: I reinforced my understanding of software development principles, including code quality, testing, and maintainability.

What it does

It is a static code analysis solution that goes beyond simple error detection. It evaluates code quality from multiple perspectives, including coding standards compliance, readability and maintainability. By integrating with GitHub, CodeReviewerAI becomes an indispensable member of your development team, ensuring that the code you merge meets the highest quality standards.

How we built it

We performed an analysis with the API of the Github library and Gitlab to understand the changes using python libraries such as PyGithub and python-gitlab and creating with JupyterLab little by little the logic. Once we managed to get the changes from the Pull Request we focused on using the models and testing with Gemini and ChatGPT independently to fine tune the prompts and responses for a good code analysis that would be dicient for our goal which is to help development companies with code review. Once the prompts were fine-tuned we focused on understanding how to launch a WEB APP that requested the necessary parameters for the code analysis and to be able to give a result in Markdown for this we found that the gradio library makes it easy to perform a rapid deployment of the requirement and so we finally reached the expected result.

Challenges we ran into

Creating accurate prompts were the main initial challenges. In addition, optimizing the algorithms so that they could parse different programming languages and coding styles represented a significant technical hurdle. Also the configuration and the little knowledge curve of AI Workbench was part of the challenge although I highlight the good documentation you have.

Accomplishments that we're proud of

We are very proud to be able to come up with a good analysis using AI in such a short development time. We are proud of being able to understand and use different APIs that integrate the solution and how easy it is for the end user to use.

What we learned

  • We learned a lot more about GIT
  • Learned about nvidia's AI Workbench
  • We learned how to take advantage of AI APIs

What's next for CodeReviewerAI

  • We want to integrate the repositories automatically
  • We want to be part of CI and CD within the Pipeline by giving a score to the catch.
  • We want to suggest automatic improvements

Built With

Share this project:

Updates