Hunt by bug type
Pick a bug you've met before.
Every card is a defect that ships in real software, framed the way a ticket would describe it. Choose one, then choose which app to hunt it in — the same mistake looks different in a hospital chart, a bank transfer, and a shopping cart.
Or start from the app collection →
Bug packs — stack a session
Several bug types that belong together, hunted in one app as a single graded session.
The money pack
“Finance says the numbers don’t reconcile.” Precision, rounding, and boundary mistakes that only show up where money moves.
The broken-trust pack
“A customer saw something that wasn’t theirs.” Object-level authorization and payload exposure, hunted together.
The retry-storm pack
“It was fine until traffic spiked.” Duplicate writes, lost updates, and stale reads — what concurrency and retries do to state.
The pipeline pack
“The dashboard disagrees with the source system.” Types, units, dates, and cardinality — everything a transform can quietly ruin.
The AI-under-audit pack
“The AI sounds right. Prove it.” Grounding, contradictions, thresholds, and stale context in an assistant's output.
Common UX bugs
“I did the thing, and the number at the top didn’t change until I refreshed the whole page.”
Derived value never invalidates
“I sorted the column and 9 comes after 100.”
Sort uses the wrong comparator
“My screen reader just says ‘button’. Button for what?”
Control has no accessible name
Common API bugs
“I changed the id in the request and got somebody else’s record back.”
Object-level authorization missing
“I asked for something that doesn’t exist and the app told me the whole service crashed.”
Failure mapped to the wrong status
“Open devtools — the response is carrying fields customers were never meant to see.”
Internal field leaks into a public payload
Data & math bugs
“It says there are 34 results, but no matter how I page through I can only ever see 24.”
Pagination drops a page
“The value displays perfectly, but everything that compares against it acts like it isn’t a number.”
Number carried as a string
“The books are off by a cent and nobody can say where it went.”
Money handled as floating point
“It says 5.6. …5.6 what?”
Value shown without its qualifier