Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for CodeCanary — code review on Ring
Inspiration
We noticed that developers building for the Ring track often struggle to keep up with rigorous code standards at scale. We wanted to create a tool that provides instant feedback without waiting for a manual peer review. This project was born to bridge the gap between rapid development and robust-ready code.
What it does
CodeCanary automates the code review process by analyzing pull requests for vulnerabilities and optimizations. It scans the source code and suggests improvements based on best practices for the Ring environment. The tool integrates directly into the developer's workflow to save time and reduce errors.
How we built it
We built the core API using FastAPI and deployed the service on Amazon ECS Fargate for scalable compute. We utilized Amazon SageMaker to host the machine learning models that perform the actual code analysis. The entire pipeline is orchestrated using Python and integrates seamlessly with Amazon Ring services.
Challenges we ran into
We found it difficult to optimize the SageMaker models to provide low-latency responses during review. We also faced challenges configuring the networking permissions between the Fargate containers and the Ring-specific APIs. Tuning the model to avoid false positives required several iterations of testing.
Accomplishments that we're proud of
We are proud of the seamless integration between our FastAPI backend and the SageMaker inference endpoints. We managed to create a system that identifies complex code patterns that manual reviews might miss. Seeing the tool successfully identify bottlenecks in test code was a major win for our team.
What we learned
We learned a lot about managing containerized microservices at scale using ECS Fargate. We also gained deep insights into how to structure machine learning workflows for static code analysis tasks. This experience deepened our understanding of how to build production-grade tools for developers.
What's next for CodeCanary
We plan to expand the library of supported languages to cover more frameworks used on Ring. We also want to implement real-time suggestions directly within the IDE for faster feedback. Our goal is to make CodeCanary a standard part of every Ring development lifecycle.
Built With
- amazon-ecs-fargate
- amazon-ring
- code-review
- codecanary
- fastapi
- sagemaker
Log in or sign up for Devpost to join the conversation.