Non-functional requirements · Fast enough, in numbers

Performance-style app

Illustrative system design for a fast enough, in numbers app like Performance: 4 topics to read, from requirements to deep dives.

Illustrative design, not Performance’s actual implementation. Arrowbox is not affiliated with Performance’s owner. Disclaimer

Start with Response time limits Read for freeUpdated 2 Oct 2026

Core

  • How fast is fast enoughBeginner · 34 min read

    People perceive response time in bands: an instant reaction, a flow that stays unbroken, and a wait that needs feedback. Each interaction in a design gets a band, and the band decides whether it needs an optimistic update, a spinner or a progress bar.

  • Core Web Vitals as requirementsBeginner · 35 min read

    LCP, INP and CLS measure loading, responsiveness and visual stability from the user's side; a requirement states a threshold, a percentile (p75) and whether it is judged on field or lab data.

  • Designing for the device you don't ownIntermediate · 31 min read

    A performance requirement is only meaningful against a named device and network. Pick the target from real traffic, test on it with throttling, and let the app adapt when it detects a weak device or a slow or data-saving connection.

  • Performance budgetsIntermediate · 32 min read

    A budget is a limit the team agrees before building: on a user metric, on a timing, or on bytes and requests. Derive it backwards from the target, split it across the page, and make CI fail when a change breaks it.