Working with numerous teams over the years on all kinds of projects, we've noticed a common issue over and over: small changes can lead to big impacts on artifact sizes which go unnoticed until they hit production systems. Adding a new npm package might bloat your frontend app, unoptimized images can slow down your website, and even binary assets like Docker images or Rust crates can grow disproportionally. These size increases result in slower load times, extra computation, and higher data transfer and storage costs.

We built Gravity to help teams catch regressions before they hit production. Inspired by visual regression tools like Percy or Chromatic, Gravity integrates seamlessly into the developer workflow:
- For each new pull request, Gravity analyzes the relevant artifacts. If it spots new or growing artifacts, it adds a failing check to the PR, preventing it from being merged.
- The engineer reviews the changes in Gravity. If the changes are intentional, they approve them. If not, they go back and fix the issues.
- Once all changes are approved, the Gravity check turns green, and the PR is ready to merge.