About the Project
Inspiration
Open source projects thrive on collaboration, but code reviews are often slow, inconsistent, and a bottleneck for innovation. We were inspired to build an AI-powered GitHub PR reviewer bot using Amazon Nova Act and Nova Premier to automate high-quality code reviews, helping maintainers and contributors focus on what matters most: building great software.
What We Learned
- Integrating advanced AI models (Nova Act, Nova Premier) into real-world developer workflows
- Securely managing credentials and environment variables for cloud-based AI services
- Handling GitHub API permissions and webhooks for seamless automation
- The importance of clear documentation and demo readiness for hackathons
How We Built It
- Server: Uvicorn running the app from src.server:app to handle GitHub webhook events
- AI Analysis: Amazon Nova Premier (with fallback to Pro) for code review suggestions
- PR Metadata: Nova Act API (with fallback to GitHub API) for PR context
- Review Posting: Automated review/comments via GitHub API
- DevOps: ngrok for local webhook testing, .env for secure config, and robust error handling
- Documentation: Markdown with Mermaid diagrams and LaTeX for clarity
Challenges Faced
- Authentication: Managing multiple API keys and permissions for GitHub and AWS Bedrock
- Model Fallbacks: Ensuring strict use of Nova Act and Premier for hackathon compliance, with clear error handling if unavailable
- Webhook Delivery: Debugging webhook failures and ensuring reliable event processing
- Demo Readiness: Preparing a publish-ready repo, excluding secrets, and providing clear setup instructions
- Cross-Platform Issues: Handling file locks and environment differences, especially on Windows
Math & Logic
The review process can be modeled as a function $f$ mapping PR metadata $M$ and code diff $D$ to review suggestions $R$:
$$ R = f(M, D; \theta_{\text{Nova}}) $$
where $\theta_{\text{Nova}}$ are the parameters of the Nova model. This abstraction guided our modular design and fallback logic.
We hope this project inspires more maintainers to embrace AI for open source collaboration!