We built Aviator, a developer productivity platform that solves common scaling challenges faced by engineering teams as they grow their team size and code complexity. We love GitHub but have a love/hate relationship with its limitations when building at scale. Our app uses GitHub APIs to manage pull requests, continuous integration test runs, and handle flaky tests while maintaining security compliance. However, we've encountered issues such as missing API capabilities like rebasing, network issues, managing unknown/unexpected behaviors, rate limits, and race conditions. To mitigate these challenges, we've implemented various workarounds, such as using the git CLI tool natively, caching information locally, retrying events, and employing locks to avoid inconsistencies and race conditions. We're also exploring ways to improve our error handling, rate limit management, and caching mechanisms to further optimize our performance. Aviator automates tedious developer workflows by managing PRs and CI runs to help teams avoid broken builds, streamline cumbersome merge processes, manage cross-PR dependencies, and handle flaky tests while maintaining security compliance.