Summary
Overview first paint is dominated by a single /api/overview payload that feeds ATF (health, KPIs) and below-the-fold sections (trends, breakdowns, tables). Split the API (and page) so ATF loads first; defer heavier sections after paint (same trigger model as list-page ATF work — not scroll-gated).
Why later
Depends on API contract changes; list pages can ship ATF-first first using existing endpoints.
Approach (high level)
- Define an ATF overview response (greeting/health/KPIs/range meta) vs deferred sections (series, top groups, tables, extra charts)
- Parallel-fetch ATF on SSR; client-fetch deferred slices after paint
- Avoid breaking current overview URL/query contracts; version or additive endpoints preferred
Deliverables
Depends on / precedes
Ship list-page ATF-first work first (linked).
Base branch
develop
Summary
Overview first paint is dominated by a single
/api/overviewpayload that feeds ATF (health, KPIs) and below-the-fold sections (trends, breakdowns, tables). Split the API (and page) so ATF loads first; defer heavier sections after paint (same trigger model as list-page ATF work — not scroll-gated).Why later
Depends on API contract changes; list pages can ship ATF-first first using existing endpoints.
Approach (high level)
Deliverables
Depends on / precedes
Ship list-page ATF-first work first (linked).
Base branch
develop