An issue comes in
A support email, a Slack message, a Jira ticket, or a question in the dashboard.
TraceX is the AI engineer for your production issues. It reads the support email, investigates your database, logs and code, finds the root cause with evidence, and writes the fix.
My refund from last week still hasn't arrived. Order #48213.
SELECT state FROM refunds WHERE order_id = 48213'pending'Migration 0142 renamed the refund state,but refunds.py still filters on pending.
pending, which no longer exists.Hi Maria, we found the problem and your refund is on its way.
Connects read-only to the tools your team already runs.
databases, code, logs and inboxes, connected read-only
in every investigation, from intake to resolve
read-only access and read-only queries, always
investigations a month during the private beta
A support email, a Slack message, a Jira ticket, or a question in the dashboard.
It queries your database read-only, reads the code and recent changes, and checks Sentry, Datadog and CloudWatch.
A root cause with its confidence, what should happen versus what does, and the evidence for each claim.
A pull request with the change and how to validate it, and a reply ready for your customer.
TraceX works the issue the way your best engineer would: it reads the thread, plans what to check, and follows the data and the code until the cause is clear.
Migration 0142 renamed the refund state,but refunds.py still filters on pending.
pending, which no longer exists.How many refunds are stuck? Which customers were charged twice? What changed in checkout since Monday? TraceX looks it up and shows its work.
pending, all created after migration 0142 shipped on Oct 21 1 2.
| Day | Stuck |
|---|---|
| Oct 21 | 12 |
| Oct 22 | 14 |
| Oct 23 | 8 |
TraceX writes the smallest change that fixes the cause, explains its risk and how to validate it, and reviews your team's pull requests too.
TraceX reads your databases, code, errors, logs and inboxes together, so every answer comes from the whole picture. Access is read-only and you can revoke it any time.
Explore integrationsPostgreSQL, MySQL and MongoDB, through read-only credentials. TraceX writes the query, runs it, and keeps only what it found.
SELECT id, order_id, state, created_atFROM refundsWHERE state = 'pending' AND created_at > '2026-10-21'
| id | order_id | state | created_at |
|---|---|---|---|
| rf_9921 | 48213 | pending | Oct 21 09:12 |
| rf_9934 | 48190 | pending | Oct 21 11:40 |
| rf_9958 | 48236 | pending | Oct 22 08:03 |
| rf_9987 | 48271 | pending | Oct 23 16:55 |
| … 30 more rows | |||
34 refunds are stuck in pending, every one created after Oct 21.
Code, commits and deploys through the GitHub App. TraceX finds the change that caused it and opens the fix as a pull request.
Opened by TraceX from the investigation · 1 file changed
The migration renamed the state; refunds.py still filters on the old one.
Issues and stack traces, matched to the deploy that started them.
chargeCard · first seen Oct 22, 14:02
node_modules/stripe/lib/charges.jscreatesrc/checkout/payment.ts:88chargeCardsrc/checkout/submit.ts:41onSubmitIt started with deploy a1c9e2: on a retry the payment intent is undefined.
TraceX searches the logs at the time of the issue and picks out the lines that explain it.
Each card error retried the charge without an idempotency key, so 6 orders were charged twice.
TraceX writes the Logs Insights query, runs it, and reads the events.
fields @timestamp, @message| filter @logStream like /refund-worker/| sort @timestamp desc
The worker runs every minute and finds nothing: its filter no longer matches any refund.
Each new customer email starts an investigation, and ends with a reply ready to send.
Refund still not received · My refund from last week still hasn't arrived. Order #48213.
Mention TraceX in a thread and get the answer, with its evidence, right there.
@TraceX why was order 48190 charged twice?
A card error retried the charge without an idempotency key, so the second attempt charged again 1. 6 orders were hit on Oct 22 2.
TraceX picks up the ticket, comments the root cause and links the fix.
Reported by 3 customers · Priority high
Safari blocks the cookie the 3-D Secure frame needs, so the challenge never loads and checkout waits until it times out 1.
Linked pull request
Sign in through your browser, link a repository with one command, and ask TraceX from your terminal. In a repository that isn't linked, it works as a coding agent that asks before every change.
tracex -c for answers with the same evidence as the dashboard$ tracex -c› fix the refund worker filter Edit app/workers/refunds.py - state="pending" + state="awaiting_payout" Apply? (y/a/n) y Run pytest tests/test_refunds.py? (y/a/n) y ✓ 12 passed
TraceX connects to your databases with read-only access and runs only read-only queries. Nothing in production is changed.
Every root cause and answer cites the records, code and log lines it came from, and a second model checks the answer against them.
No index of your code or data. Answers keep what was looked up and where, not the rows; exported files are deleted after 24 hours.
Fixes arrive as pull requests for your review. In your terminal, TraceX asks before every edit and command.
SSO, two-factor sign-in, roles for admins, investigators and viewers, revocable sessions and a full audit log.
Run TraceX on your own Anthropic or Gemini account, so AI usage is billed to you, never through TraceX.
A customer email, the investigation, the root cause and the fix, start to finish. Turn the sound on.
TraceX is free during the private beta. Connect a database and a repository and ask your first question in minutes.