Engineering
Performance
Aevum’s web app is built to load fast and stay small. Speed and size are treated as things you measure and guard, not assert.
The load headline
| Metric | Value |
|---|---|
| Entry bundle (gzip) | 99 kB |
| CSS (gzip) | 17 kB |
| Lazy chunks | 198 |
The entry bundle is what a first-time visitor downloads before anything renders; it’s
held under a hard size gate (npm run size) on every build, so it cannot creep up
unnoticed. These figures come from the same stats.frontend.json the drift gate checks.
How it’s kept honest
The deeper numbers — per-chunk sizes, Lighthouse scores, the warm schedule — are captured by the bench framework and preserved between regenerations. They are indicative, not contractual (lab runs are median-of-N with jitter tamed). The full method and the live tables are in the audit, internal/performance.md.
Load size is only half the picture. A field probe measures what size gates and headless tools can’t: paint smoothness, scroll jank, and whether animations actually run — in a real browser on a real device, Firefox included. The first app-wide sweep (all 39 pages) and the three measurement tiers live in the audit’s field-probe + per-page inventory.
For the size and scale of the codebase (features, tests, lines of code), see architecture.md → By the numbers.