I like moving fast, but I like sleeping even more. This is the lightweight checklist I use before pushing something to production. It fits in a sticky note, and it keeps me honest without slowing me down.
Pre-flight
- Scope the smallest possible slice: define the one visible win
- Write down the risky edge cases: blank states, errors, mobile widths
- Add a feature flag or an environment toggle if user-facing
- Decide rollback path: revert commit or flip the flag
Build and instrument
- Add a single log or metric for the new path so I know it runs
- Guard external calls with timeouts and sensible defaults
- Make loading and error states intentional, not accidental
Quick QA loop
- Desktop + mobile narrow width
- Slow network for at least one pass
- Browser console open once to catch noisy warnings
- Copy-paste user inputs with accents and emojis to catch encoding issues
Release and watch
- Ship behind a flag or to a small audience first
- Watch error rate and a single success metric for 15–30 minutes
- Leave breadcrumbs in the changelog so future me knows why we did this
Why this works
It is short enough that I actually follow it. It also front-loads the thinking: I decide rollback and observability before I am tired at the end. Most importantly, it keeps the team aligned on what “good enough” means for small, frequent releases.