Aristo: A Pull Request Story

Inspiration

Coding itself is an art, and there is no place in the software development lifecycle that is funnier and more amusing than a Pull Request chain filled with comments. Our journey with Aristo began as an exploration of the intersection between coding, technology, and human creativity. We were inspired by the ever-evolving landscape of software development and the opportunities to enhance the developer experience.

What it does

Aristo, is an AI bot designed to streamline the code review process. It can analyze code in any programming language and promptly share its insights by leaving comments directly on open pull requests. Aristo acts as a senior developer, reviewing code and providing feedback to engineers within minutes. It automates basic-level checks, saving valuable time for developers and improving code quality.

How we built it

I(Gurkeerat) was already familiar with Atlassian's world, thanks to contract work at a startup called Rivi during my final year. And I have also been using Jira since the time I stepped into corporate.

The thrill of the hackathon inspired a crazy but fun idea. I embarked on the development of Aristo using Large Language Models (LLMs) as the foundation. To make Aristo relatable to the Gen Z audience, we had initially named it as Aristotle but later opted for Aristo. The project is made using Forge, which allowed us to build fully-functional apps within BitBucket quickly with hosting, multiple development environments, and built-in API authentication.

For the backend, we developed a Node.js service that serves as the brain of Aristo. For the frontend there are 2 parts. The first is a Forge App inside of Bitbucket. And, the second is a React web app.

Challenges we ran into

While building Aristo, we encountered challenges, especially in ensuring accurate code reviews and minimising "hallucinations" where the AI gave absurd comments. We are actively working on strategies to reduce such instances and enhance Aristo's capabilities.

Accomplishments that we are proud of

We were facing a one roadblock after the another when we started to build the UI. But once we got the hang of it, then it was easy to architect the Forge app. Another hurdle which we faced was to control the hallucinations of GPT. Initially GPT was giving lot of incorrect answers but we did some brainstorming to improve the prompts and thus the LLM started performing in a better way.

It was on the last day of the hackathon when our planned flow was completed that we decided to have a simple web app to store and show the comments made by Aristo. We somehow managed to engineer a basic version of that as well and made it live!

What we learned

The journey of building Aristo has been a profound learning experience. We've gained insights into the complexities of code review, the significance of scalability and maintainability, and the delicate balance between automation and human touch in software development. Our exploration of Large Language Models (LLMs) and their potential for code analysis has deepened our understanding of Generative AI!

What's next for Aristo

The future holds exciting possibilities for Aristo. We plan to further improve its accuracy and ability to understand code in various contexts. We aim to provide Aristo with more comprehensive checklists for different programming languages, making it even smarter. As we continue to evolve it, our goal is to create a tool that not only reviews code but also adapts, scales, and evolves with the ever-changing software development landscape.

We invite you to connect with me at gurkeeratsondhi@gmail.com to share your thoughts and ideas about Aristo.

We are excited to hear from the developer community and explore how Aristo can enhance your development projects.

Remember, while Aristo is undeniably intelligent, it can never replace the invaluable touch of a human code reviewer. Let's continue striving for excellence in our pull requests while embracing the possibilities of AI.

Built With

Share this project:

Updates