Blog
Notes on bug reports, reproduction steps and getting usable evidence out of the people who use your product.
How to write steps to reproduce a bug
Why reproduction steps are the part that goes wrong, what a usable one looks like, and how to stop asking for them.
How to get better bug reports from users
Why bug report forms produce vague reports, which questions to delete, and what to collect automatically instead of asking.
What to do when you cannot reproduce a user bug
The five things that usually differ between your machine and theirs, and how to capture them before the report reaches you.
How to get console errors from users
Why asking a customer to open DevTools does not work, and the two browser events that collect the error for you instead.
Closing the feedback loop with your users
Why most feedback tools stop at collection, what silence costs you, and the smallest system that tells people what happened.
Screenshot or console log: which one do you actually need?
What each artifact proves, where each one misleads, and why the argument between them is the wrong argument.
MCP servers for customer feedback: what they are for
What MCP changes about the gap between a user bug report and a fix, and what a feedback MCP server should and should not expose.
Usersnap vs BugHerd vs Marker.io: which one fits your team
Three visual feedback tools that look identical on a feature grid, and the two questions that actually separate them.
Free bug reporting tools: what the free tier actually costs
Where free plans in this category run out, which limits bite first, and how to tell a free tier from a trial with no end date.
Bug report widget vs error monitoring: you need both
What Sentry sees that a feedback widget never will, what a widget sees that no APM can, and why the overlap is smaller than it looks.