"Done" should mean done — not "probably fine." Before you hand a project to a client and move on, run this final pass. It's the difference between a confident handoff and a hopeful one.
Function
- Every page loads, no errors in the console
- Every link and button goes where it should
- Forms submit AND the message actually arrives
- Checkout completes end to end, including a real test transaction
Cross-device
- Works on real mobile devices, not just the emulator
- Looks right across the major browsers
- Nothing overflows or overlaps on small screens
Performance
- Images are compressed and sized sensibly
- Pages load in a couple of seconds
- No unnecessary scripts dragging things down
Search and sharing
- Every page has a unique title and description
- Old URLs redirect if addresses changed
- The site shows up correctly when shared or searched
Polish
- No placeholder text or dummy content left behind
- Contact details are correct
- Legal pages exist and link properly
The honest gut-check
The hardest item: did you test it the way a stranger would, or the way you built it? Your own testing has blind spots by definition.
That last point is why many developers add an independent QA pass to this list — a neutral check that catches what proximity hides. However you do it, running a real checklist before "done" is what separates professionals from people who just deliver and hope. If you'd like that final pass handled for you, that's what we do.