Inspiration
Code review can be intimidating to new programmers, which can reinforce bad coding habits or scare them off from contributing to open source repositories (We’ve probably all had at least one of those times where you did not contribute due to being scared of getting roasted alive on the internet).
The goal of our project is to use AI to help devs visualize, understand, and optimize their projects. By automatically collecting profiling data and integrating generative AI tools, we can provide tailored feedback on not just runtime and space/complexity, but also styling, and structure, empowering all developers regardless of their experience to generate higher quality and more efficient code.
What it does
The user uploads their C program to our platform. We build and compile the code, and pass it to our profiling tools, which outputs statistics on CPU usage and runtime. We then take this data, along with the original code, and pass it to our LLM agent pipeline, which then outputs suggestions for improvements for each function alongside a code snippet with the suggestions implemented.
How we built it
We use React and Javascript for our frontend, and Python, BAML, Docker, and Bash, and the OpenAI API for our backend. When the user uploads their code, we run it in a containerized gcc environment using Docker, which allows us to run our profiler and get the relevant statistics. We then take this information, and plug it into our LLM agent pipeline, implemented using BAML. The pipeline first gets us the function signatures with each function's content. This then passed into our optimization module, which suggests optimizations for each function and returns an optimized code snippet.
Challenges we ran into
Several of our team members were sick, but we persevered nonetheless. We had some trouble implementing gcc environment. We also had to play around quite a bit with the context and prompting for our OpenAI calls.
Accomplishments that we're proud of
Creating a working LLM agent pipeline with BAML, which we were completely new to, and getting the UI to work properly. We especially like our function diagramming feature.
What we learned
We learned how to use BAML to create an LLM agent pipeline, and how to integrate it with React.
What's next for plzfix.ai
We plan to make our visualizations for program flow better, and to integrate our platform directly into the code editor via a VS Code Extension.
Log in or sign up for Devpost to join the conversation.