About us
We measured how long our CI spent recompiling identical code
Anvil started with a spreadsheet that said 61% of build minutes were work someone had already done.
Origin
Sixty-one percent
Across a 400-engineer organisation, most CI compute recomputed artefacts byte-identical to ones produced hours earlier on another machine. A remote cache is an obvious fix and a genuinely hard system to run well, mostly because the interesting question is not 'is it cached' but 'why was it not'.
- Traffic is never metered — a cache you avoid reading is worthless
- Miss explanation is a first-class feature, not a log line
- Read-only credentials for untrusted builds, by default
An internal Bazel cache
One repo, one region.
Remote execution
Fan-out to 500 workers.
Non-REAPI integrations
Gradle, Nx, sccache.
Miss explanation
The feature customers actually renew for.
1.9 TB/hour
At peak, from 6 TB of unique blobs.
How we work
Boring on purpose
We would rather run software that is three years old and understood than something new that pages us at 04:00.
Own the path
We buy transit from multiple carriers and peer directly wherever it is possible, so a single bad hop is never a single point of failure.
Write it down
Every incident gets a public write-up. Every design decision gets an RFC. Institutional memory beats heroics.
Some of the people behind it
A quarter of the company has been here since the first rack.
We are hiring
Remote-first across EU time zones, with a small office network for people who prefer one.