The challenge
The team builds a performance analytics product. There’s a web dashboard, the backend services that feed it, and an Android app for people out in the field. The code is spread across a lot of repositories. A normal change touches a data model in one, an API in another and a screen in a third.
Human review struggled with that. Reviewers knew their own corner well, but it’s hard to hold the rest in your head when a change crosses a boundary. Pull requests waited for the one person who understood both sides. Some regressions only turned up after release, when a number looked wrong on a dashboard.
The approach
The team connected their GitHub organization and split the repositories into two projects: one for the web platform and one for the mobile app. They tagged each repository as web, backend or mobile, so they can filter issues and findings by platform.
Every pull request now gets a review that reads the whole repository as it’ll look after the merge. Findings land on the exact lines in GitHub, with a severity and a category. When the fix is mechanical, a developer clicks once. CodeReviewer writes the change, checks that it compiles and commits it to the branch.
For testing, the team wrote suites for the dashboard’s main reporting flows and for the Android app’s sign-in and data entry. The Android suites replay on a real phone paired to the workspace.
The results
Cross-repository mistakes like a renamed field, a changed unit or a missing permission check now show up in review instead of on a production dashboard. Reviewers spend less time on mechanical comments and more on how the product should behave. And the mobile app, which used to get the least testing, now has a suite that runs on a real device.