Inspiration
Honestly, this came from our own frustration. As students who just started contributing to code, we realized how long it takes to get a PR reviewed. Sometimes you wait the whole day just to hear "fix this variable name." We thought, what if there was something that could catch the obvious stuff instantly, so human reviewers could focus on the bigger picture?
What it does
You open a Merge Request on GitLab, and within seconds our agent reads your code and starts leaving comments just like a senior developer would. It catches bugs, flags security issues, points out missing edge cases, and suggests better approaches. At the end it posts a summary saying what's critical, what's a warning, and what's just a suggestion.
How we built it
We kept it simple honestly. A Flask server listens for GitLab webhook events. When a PR is opened, it fetches the diff using the GitLab API, sends it to Gemini with a carefully designed prompt, parses the response, and posts the comments back. Everything runs on Google Cloud Run so it works 24/7 without us keeping our laptops on.
Challenges we faced
Getting Gemini to return consistent structured JSON was trickier than we expected — it kept adding extra text around the response. GitLab's inline comment API also requires specific SHA values which took us a while to figure out. And making sure the agent only reviews new code and not deleted lines took some prompt tuning.
What we learned
More than anything we learned what it actually means to build an agent — not just a chatbot that answers questions, but something that takes real actions in the world. Connecting webhooks, APIs, and AI together felt like real engineering for the first time.
Log in or sign up for Devpost to join the conversation.