This fake e-commerce page has intentionally planted bugs. Trigger them and watch BugSpotter capture everything automatically — then check the Admin Panel to see the full report.
Click "Buy Now" on a product. The checkout form has a bug that throws a TypeError when processing the payment — a common production issue.
Simulates a backend API returning 500 when fetching products. The SDK captures the failed network request and the console error.
Navigate to "Orders" and experience a 4-second load. The session replay captures the user waiting, and network logs show the slow request.
Submit the checkout form with empty fields. Instead of showing a validation error, the code throws an unhandled exception.
A product image fails to load (404). The broken image is visible in the session replay and the failed request appears in network logs.
A "Submit" button appears to do nothing. Click it rapidly to simulate user frustration — the replay captures the rage click pattern.
API returns invalid JSON. The app tries to parse it and crashes with a SyntaxError.
A component update triggers itself recursively, causing a stack overflow.
Code references a DOM element that was removed or never rendered. TypeError on null.
Accessing an array element beyond its length, then calling a method on undefined.
Parsing a malformed date string and calling toISOString() throws a RangeError.
Fetch to a cross-origin endpoint without CORS headers. Request is blocked by the browser.
API call aborted after 2 seconds via AbortController. Simulates a hung backend.
Request to a protected endpoint with an invalid token. Server returns 401.
Rapid API calls trigger rate limiting. Server returns 429.
Attempt to open a WebSocket to an invalid host. Connection error in console.
A synchronous computation blocks the main thread for 3 seconds. UI freezes completely.
Inserting 5000 DOM nodes in a tight loop causes layout thrashing and jank.
Creating an oversized canvas (8000×8000) to process an image. High memory usage.
Writing too much data to localStorage. Throws DOMException: QuotaExceededError.
Click handler captures old state value. Displayed count doesn't match actual count.
A dropdown menu renders behind the sticky navigation bar due to z-index conflict.
Late-loading content pushes the page down, causing a jarring layout shift.
A promise rejects without a catch handler. Triggers the global unhandledrejection event.
Adding 100 scroll listeners without cleanup. Memory grows, performance degrades.
BugSpotter v2.1 adds blockSelectors to hide DOM elements from session replay,
and data-bugspotter-exclude to exclude elements from screenshots. Try
triggering a bug report — the blocked sections below will appear as placeholders in the
replay.
This section uses blockSelectors: ['.sensitive-portfolio'] — hidden from
replay
This section uses data-bugspotter-exclude — hidden from screenshots
$49.99
$34.99
$89.99
$19.99