Production problem, verified fix.

42Removed: production problem
42Added: verified fix.
  • Passed: Found in production
  • Passed: Fixed in a tested pull request
  • Passed: Verified after the release

Aient watches your production telemetry, finds the cause in your code and opens a pull request with a tested fix. Your team approves the change, and Aient confirms in production that the problem has stopped.

€15 starter credit, no card required

Watch Aient fix a crash in production

One real crash, start to finish.

In our five-in-a-row demo app, the game crashed whenever the computer player had to make the first move of a new game. No error on screen, no alert, no ticket. This is how Aient took it from the first crash to a verified fix.

1Detect

Aient finds the crash in telemetry

Before anyone reported it.

After “Play again”, the board stayed empty and the browser logged TypeError: Reduce of empty array with no initial value. Aient picked it up from production telemetry, grouped every occurrence into one problem, PRB-4, and named it. It ranks each problem by impact: the people and sessions it affects, how often and how long it happens, and whether it is a regression.

Clear enough for a person to read at a glance, and for your coding agent to pick up as it is.

Always-on detection

2Context

Aient traces the cause to the code

Telemetry says what. Code says why.

With one clear problem, it’s worth spending real intelligence. Aient read the traces, logs and metrics for PRB-4 together with the code and its recent changes. The likely cause: computer-move selection doesn’t handle an empty board, so reduce() runs without an initial value and throws. Players can’t start a game when the computer moves first. Aient filed it in Linear, linked to PRB-4.

AI triage

3Fix

Aient opens a pull request with a tested fix

Aient opened PR #17 with the root cause in plain words, the change, and red-green tests for the TypeError. The change handles the empty board before choosing a move. It followed the checks and the preview deployment, and reported their status in the pull request.

You review a fix instead of writing one.

Automated fix PRs

4Verify

Aient verifies the fix in production

Resolved, then verified.

Your pipeline deployed the merge. New telemetry carries the release’s commit SHA, so Aient checks the crash against the exact version running.

  • Passed: Release attributed by its full commit SHA.
  • Passed: No recurrence of the crash after that release.
  • Passed: PRB-4 closed as Resolved · Verified.

If the crash comes back, PRB-4 reopens with its history.

Next time, it starts further ahead.

From PRB-4, Aient proposed one invariant to remember: move selection must handle an empty board. Your team approved it, so the next investigation starts with it.

Agon Avdullahu, Team Lead, COPE

Removed: spending an afternoon
Added: an answer in seconds

“I can ask a question about production and get an answer in seconds instead of spending an afternoon on it.”

Agon Avdullahu (opens in a new tab), Team Lead, COPE

Before Aient, tracking down a production problem meant guessing which service to look at, then digging through logs one at a time. The worst ones were the failures that didn't announce themselves — a service answering health checks normally while something inside it had quietly stopped working.

What changed is that I can ask a question about production and get an answer in seconds instead of spending an afternoon on it. That's true for incidents, but also for ordinary decisions — when I need to know how something actually behaves under real traffic before committing to a design, I can just look, rather than argue about what feels right.

If you're considering it: cross-service traces are worth it on their own. Most of our genuinely confusing problems have been one service failing in a way its own health check couldn't see, and that's very hard to find without them.

Connect your code and telemetry, and see what Aient finds.

One thread, wherever you work

Discuss the problem with Aient in Slack or Microsoft Teams, track it in Linear and review the change in GitHub. The findings, the decisions and the change stay linked to the problem.

Aient threadPRB-4
  1. Slack · Aient

    New problem PRB-4 in luffarschack: reduce() on an empty array when the computer opens a game.

  2. Slack · Henrik

    Is that the Play again bug? Go ahead.

  3. Web app · Aient

    Root cause confirmed: resetting a game can make computer X start with no stones.

  4. Linear · Aient

    Filed and linked to PRB-4.

  5. GitHub · Aient

    The preview is ready, and both checks on PR #17 are passing.

  6. Web app · Aient

    PRB-4 resolved and verified against the release’s full commit SHA.

See all integrations

Aient for coding agents

Production context through MCP

Connect the Aient MCP server with an API key. Claude Code, Codex, Cursor or any MCP client can then list problems, query traces and logs across your services, and ask Aient for a fix that arrives as a pull request.

MCP server

Offload agentic runs

Your agents can use the same isolated sandboxes Aient fixes in. Run the heavy work there, keep your local files in sync and get your laptop’s CPU and memory back. Sandboxes support nested virtualisation, so the same Docker Compose stack or local Kubernetes cluster runs there as on your laptop.

  • Tests
  • Docker Compose e2e
  • Playwright
  • Vagrant
  • Kubernetes

Prefer the terminal? The Aient CLI finds an investigation, shows its progress and picks up the conversation.

Aient CLI (opens in a new tab)

“The agents we had waited to be asked. The one I wanted was already looking.”

Henrik Feldt, Founder, Aient

Access, approval and your data

Who can do what

You decide who joins and what each person can do. Aient checks identity and permissions before it acts on anyone’s instruction, in Slack too.

What reaches your code

You choose the repositories Aient can see, and can revoke access at any time. Every change arrives as a pull request. Merge automation is off by default, so merging stays with your team until you decide otherwise.

Where your data lives

Hosted in the EU.

Built to SOC 2 criteria. Certification on the roadmap.

Read about security

“We knew time was money when we decided to try Aient, but after a month of use, we quickly realized it could save us both.”

Ramon Saldanha, Senior Backend/DevOps, CloudOps Engineering

We knew time was money when we decided to try Aient, but after a month of use, we quickly realized it could save us both.

Being able to understand what's failing, why it might be failing, and what to investigate next has made our engineers faster and more effective without replacing their judgment.

Instead of running SQL queries and pulling logs from four different sources just to identify an issue and create a fix, we can now investigate and move toward a solution through a single interface, in minutes rather than hours.

Aient has made our troubleshooting workflow significantly more efficient, Highly recommended!

Stop firefighting. Start fixing.

Removed: firefighting
Added: fixing

Connect a repository. Aient reads your stack, writes the OpenTelemetry setup for server and browser, and opens it as one pull request. Merge it, and Aient tells you when the data arrives.

Pricing counts the work Aient does, not the volume of telemetry you send.

€15 starter credit, no card required