A tablet on a desk showing an app crash screen, with the Bugsee mascot holding a VHS tape labelled last 60s session
Recording on device

The bug already happened.
Bugsee has the tape.

Video, network traffic, console output and the symbolicated crash thread from the session that actually failed. Captured on device, waiting in the report. Nothing to reproduce.

One SDK, multiple runtimes
iOS
Android
React Native
Flutter
.NET / MAUI
Unity
Cordova
Kotlin Multiplatform

Everything the session left behind

Various data streams recorded in a rolling buffer on the device. When something fails, they arrive together.

Video recording

Pixel-accurate replay of what the user actually saw, frame for frame.

Network capture

Every request and response, inspectable down to headers, payload and timing.

Console & logs

System console plus your own log lines, in true chronological order.

Crash reports

Symbolicated stack traces, sitting next to the recording that produced them.

Touches & activity

Taps, gestures and the active screen, overlaid on the video.

Privacy masking

Mark views and fields as private and the pixels never leave the device.

AI insights

A read of the evidence with a likely root cause, attached to the report.

In-app feedback

Users shake to report, and the recording is already attached.

The time machine

One timeline, every signal

Scrub back through the seconds before failure. Video, console, requests and the crash thread all move on the same clock, so cause and effect line up instead of being guessed at.

Issue #2841
iPhone 15 Pro
9:41
Cart
Checkout
Trail runner
Qty 2
$58.00
Subtotal$58.00
ShippingFree
Total$58.00
Deliver to12 Market St
Pay withVisa •••• 4242
Confirm order
TimeURLDuration
00:00.412GET /v1/products124ms
00:01.058POST /v1/cart/add86ms
00:02.214GET /v1/user/profile41ms
00:05.480POST /v1/checkout · 500802ms
00:06.901GET /v1/inventory73ms
00:00.00 / 00:08.42
crash @ 00:08.422
Setup

One line, then it's recording

Add the SDK, paste a token, ship. The same call on every platform — no build step, no proxy, no instrumenting your views.

  • Captures context, console, network, traces, events, breadcrumbs, performance metrics and custom attributes
  • Secure text and password fields are hidden from the video by default
  • Negligible overhead — heavy work runs in the background, never blocking the main thread
  • Notifications and integrations — every new issue lands in Jira, Slack, GitHub and more, automatically
// AppDelegate.swift
Bugsee.launch(token: "<your_app_token>")
// video, network, logs and crashes: on
AI in the loop

Hand the tape to your agent

The MCP server gives any MCP-aware agent scoped access to crashes, errors, builds and vulnerability scans — from inside the editor. Inference stays in your environment; no source code leaves your machine.

Read the MCP documentation →
Agent · MCP session
user@cursor:~$ audit MyApp's latest release
list_latest_builds MyApp
get_build_regressions "65ab4f"
→ size + timing regressions, no ABI breaks
list_build_vulnerabilities "65ab4f"
→ 1 new high, 2 new medium since last scan
✓ patch drafted · 3 dependency bumps, CheckoutVC.swift +3 −1
AI insights, already in the report

No agent to wire up: every captured signal feeds an analysis that names the likely cause and proposes the fix, inline in the issue.

Root cause

Force-unwrap of data.orderId when /v1/checkout returned 500.

- let id = data.orderId!
+ guard let id = data.orderId else { return }
Confidence 92% · 3 similar crashes in 24h

Stop reproducing bugs

Drop in the SDK today and the next failure arrives with its own evidence.

Free sign upLive demoNo credit card required