We spent a lot of time learning how to log bugs properly.
Capturing context.
Reconstructing sessions.
Actually understanding what happened.
That part is hard.
But once you solve it, a different problem shows up:
Now you have too many bugs.
The real problem
Not every bug deserves to be fixed first.
But most teams don’t have a clear way to decide that.
So what happens instead?
They fix whatever is loudest.
What we started using
We moved away from intuition and looked at a few simple signals:
Frequency — how often it happens
Affected users — how many people it hits
Critical flow — where it happens (login, payment, core actions)
Latency / degradation — things that “work” but feel broken
Error signal — clear failure vs silent issue
Even a simple combination of these changes how you prioritize.
But something still feels missing.
Some of the worst issues we’ve seen:
no error
low frequency
everything looks fine
…but the outcome is still wrong.
That’s where this breaks.
Maybe severity isn’t just about errors.
It’s about whether the intended outcome actually happened.
Curious how others handle this.
How do you decide what’s worth fixing first?
Do you rely on data, or mostly intuition?
Can you recommend more tools to track and resolve these bugs in a dynamic situation?
It really depends on what kind of bugs you’re dealing with.
If it’s more about runtime errors, tools like Sentry or LogRocket are pretty solid for capturing crashes and logs.
But in more dynamic cases (especially involving user flows or async interactions), the challenge is less about detecting the error and more about understanding what led to it.
That’s where session replay and event-level context start to matter a lot more.
We’ve been focusing on that angle with Flashlog — trying to tie errors back to actual user behavior so they’re easier to reproduce and fix.