Skip to content
Career & process

Performance budgets for solo builders

The 200ms / 60fps contract is achievable without a team — if the budget is a rule you set once instead of a fight you have every sprint. A solo builder's performance system: targets, tools, and the audit that takes ten minutes.

Intermediate2 min read (computed · recorded 9)updated 2026-09-10performancebudgetssoloprocess

The two numbers that matter

For a solo builder, two numbers cover most of the contract. Interaction latency: the interface answers a tap within 200ms (the click window, filled with instant press feedback while slow work happens off the main thread). Frame rate: motion holds 60fps, meaning no frame over 16.7ms and no layout or paint inside animations. A team argues about these in meetings; a solo builder encodes them as rules in the codebase and lets the tools enforce them.

solo-budget.md
THE CONTRACT (two lines, printed above the desk):
1. Tap -> visible answer in 200ms (press state counts)
2. Motion -> 60fps (transform/opacity only, no layout per frame)

THE ENFORCEMENT (set up once):
- Lighthouse CI: budget JS <= 170kb gzip, LCP <= 2.5s
- A build-time rule: warn on any transition of
  width/height/top/left (the layout-animators)
- A dev audit: record one animation in DevTools,
  check for yellow layout blocks, run it weekly

The solo audit, ten minutes a week

The solo performance audit is short because the codebase is small: record one core interaction (open the main page, run the main motion), and check three things in the trace — no yellow layout blocks inside the animation, no long task over 50ms on the critical path, and the network waterfall's biggest item is your own code, not a 2MB library. Ten minutes a week finds regressions the day they land. The budget is not a report card — it is the early-warning system that keeps a solo site from slowly rotting under dependencies nobody remembers adding.

  • Budget the dependencies: every library is a monthly payment in bytes; a solo builder's rule of thumb is 'add it only when the code to replace it would be longer than the library'.
  • Watch the third-party list: analytics, fonts, chat widgets — three 'small' scripts routinely outweigh the entire app; the audit's question is which ones the users actually need on first load.
  • The 60fps rule is a CSS rule: transform and opacity only, will-change for long animations only, GPU layers counted — the same discipline as the team version, minus the meetings.
Practise the lesson

Theory sticks when you ship it. These original Motif assets put this guide's lesson to work — open one and copy it into your own page.