Your next engineering hire

Your next engineering hire

Write code, review new features, analyze your logs, query your data warehouse, and respond to incidents — all in one product.

Write code, review features, analyze data, and respond to incidents — all in one product.

If you have 20+ engineers on your team, one of them should be Indent

If you have 20+ engineers on your team, one of them should be Indent

Indent is an infinitely scaling AI software engineer that can help your team with any engineering task

Indent is an infinitely scaling AI software engineer that can help your team with any engineering task

Code

Data

Review

Oncall

Indent Org

New session

⌘O

Home

Code

Data

Review

Oncall

Today

Fix Webhook N+1

This Week

Database Connection Errors in Reporting App

Sudden Drop in API Response Throughput

Increased Disk I/O on Cache Server

Network Congestion Affecting Real-time Updates

Task #480 Security Vulnerability Found in Legacy Code

Task #479 Data Corruption Issue in Backup Process

Task #478 Authentication Failure Rate on Mobile App

More

Fix Webhook N+1

PR #2845

Terminal

Browser

Processes

I suspect there's an N+1 query somewhere in the code path for our /webhook route. Can you investigate, confirm whether that's actually happening, and fix it if possible?

Explored 7 reads, 3 searches, Updated To-do

Confirmed N+1 on /webhook endpoint fetch runs inside the event loop instead of being batched. Fixing by hydrating endpoints up front and passing a lookup map through the flow.

Updated To-do

Bash

Create feature branch

Files to change:

  1. webhook.ts batch ids before processing

  2. hydrate-endpoints.ts add bulk fetch path

  3. prepare-deliveries.ts read from preloaded lookup instead of querying inline

Explored 4 reads, Edit 3 files

+256

-91

Read

webhook.ts

Edit

webhook.ts

+256

-91

Read

hydrate-endpoints.ts

Edit

hydrate-endpoints.ts

+256

-91

Read

prepare-deliveries.ts

Edit

prepare-deliveries.ts

+256

-91

Bash

Run backend linting

Bash

Run webhook tests

Read

webhook-benchmark-results.txt

Created PR Fix N+1 query on /webhook route by batching endpoint hydration #8968

Fix N+1 query on /webhook route by batching endpoint hydration

#8968

Changes

3 files

+31

-12

main

indent-2026-03-25-fix-webhook-n-plus-one

PR #873 is up and ready for review.

CI Checks for 54af181

1 failed, 5 skipped, 29 passed

Indent Review found an issue

CI failure tests / webhook: batched delivery target spec is flaky under randomized event order indent-com/indent#8968

I'm addressing both follow-ups on the existing PR branch: add regression coverage for multi-event webhook batches, and make the batched delivery target test order-independent so it passes consistently in CI.

Explored 4 reads, Edit 3 files

+256

-91

Read

webhook.ts

Edit

webhook.ts

+256

-91

Read

prepare-deliveries.test.ts

Edit

prepare-deliveries.test.ts

+256

-91

Bash

Run webhook tests

Ran 3 commands

The fix is pushed to #873 and ready for another round of review.

Ask anything

indent/indent

production

Datadog +3

Code

Data

Review

Oncall

Fix Webhook N+1

PR #2845

Terminal

Browser

Processes

I suspect there's an N+1 query somewhere in the code path for our /webhook route. Can you investigate, confirm whether that's actually happening, and fix it if possible?

Explored 7 reads, 3 searches, Updated To-do

Confirmed N+1 on /webhook endpoint fetch runs inside the event loop instead of being batched. Fixing by hydrating endpoints up front and passing a lookup map through the flow.

Updated To-do

Bash

Create feature branch

Files to change:

  1. webhook.ts batch ids before processing

  2. hydrate-endpoints.ts add bulk fetch path

  3. prepare-deliveries.ts read from preloaded lookup instead of querying inline

Explored 4 reads, Edit 3 files

+256

-91

Read

webhook.ts

Edit

webhook.ts

+256

-91

Read

hydrate-endpoints.ts

Edit

hydrate-endpoints.ts

+256

-91

Read

prepare-deliveries.ts

Edit

prepare-deliveries.ts

+256

-91

Bash

Run backend linting

Bash

Run webhook tests

Read

webhook-benchmark-results.txt

Created PR Fix N+1 query on /webhook route by batching endpoint hydration #8968

Fix N+1 query on /webhook route by batching endpoint hydration

#8968

Changes

3 files

+31

-12

main

indent-2026-03-25-fix-webhook-n-plus-one

PR #873 is up and ready for review.

CI Checks for 54af181

1 failed, 5 skipped, 29 passed

Indent Review found an issue

CI failure tests / webhook: batched delivery target spec is flaky under randomized event order indent-com/indent#8968

I'm addressing both follow-ups on the existing PR branch: add regression coverage for multi-event webhook batches, and make the batched delivery target test order-independent so it passes consistently in CI.

Explored 4 reads, Edit 3 files

+256

-91

Read

webhook.ts

Edit

webhook.ts

+256

-91

Read

prepare-deliveries.test.ts

Edit

prepare-deliveries.test.ts

+256

-91

Bash

Run webhook tests

Ran 3 commands

The fix is pushed to #873 and ready for another round of review.

Ask anything

indent/indent

production

Datadog +3

Code

Data

Review

Oncall

Fix Webhook N+1

PR #2845

I suspect there's an N+1 query somewhere in the code path for our /webhook route. Can you investigate, confirm whether that's actually happening, and fix it if possible?

Explored 7 reads, 3 searches, Updated To-do

Confirmed N+1 on /webhook endpoint fetch runs inside the event loop instead of being batched. Fixing by hydrating endpoints up front and passing a lookup map through the flow.

Updated To-do

Bash

Create feature branch

Files to change:

  1. webhook.ts batch ids before processing

  2. hydrate-endpoints.ts add bulk fetch path

  3. prepare-deliveries.ts read from preloaded lookup instead of querying inline

Explored 4 reads, Edit 3 files

+256

-91

Read

webhook.ts

Edit

webhook.ts

+256

-91

Read

hydrate-endpoints.ts

Edit

hydrate-endpoints.ts

+256

-91

Read

prepare-deliveries.ts

Edit

prepare-deliveries.ts

+256

-91

Bash

Run backend linting

Bash

Run webhook tests

Read

webhook-benchmark-results.txt

Ask anything

Code

Data

Review

Oncall

Fix Webhook N+1

PR #2845

I suspect there's an N+1 query somewhere in the code path for our /webhook route. Can you investigate, confirm whether that's actually happening, and fix it if possible?

Explored 7 reads, 3 searches, Updated To-do

Confirmed N+1 on /webhook endpoint fetch runs inside the event loop instead of being batched. Fixing by hydrating endpoints up front and passing a lookup map through the flow.

Updated To-do

Bash

Create feature branch

Files to change:

  1. webhook.ts batch ids before processing

  2. hydrate-endpoints.ts add bulk fetch path

  3. prepare-deliveries.ts read from preloaded lookup instead of querying inline

Explored 4 reads, Edit 3 files

+256

-91

Read

webhook.ts

Edit

webhook.ts

+256

-91

Read

hydrate-endpoints.ts

Edit

hydrate-endpoints.ts

+256

-91

Read

prepare-deliveries.ts

Edit

prepare-deliveries.ts

+256

-91

Bash

Run backend linting

Bash

Run webhook tests

Read

webhook-benchmark-results.txt

Ask anything

Indent plugs into every part of your company — you'll find yourself using Indent for everything

Indent plugs into every part of your company — you'll find yourself using Indent for everything

INPUT

OUTPUT

Data reports

Post mortems

Terraform updates

Pull requests

False alarms resolved

Peace of mind

Threads

Alerts

CloudWatch logs

Feedback

Data request

Customer feedback

Connected to every tool your team already uses.

Connected to every tool your team already uses.

More integrations means more context. Indent gets sharper with every system you connect

Datadog

GitHub

Slack

Linear

Pagerduty

Sentry

Here's what Indent can help your engineering team do

Here's what Indent can help your engineering team do

Here's what Indent can help your engineering team do

Add a confirmation modal before deleting a project

Worked for 45s

Implementation plan accepted

Project Deletion Confirmation Modal

I'll find the project deletion code and existing modal patterns to add a confirmation step before deleting. The modal will show the project name, require explicit confirmation, and use destructive button styling matching existing components.

View full plan

Search:

delete|modal|project

Edited:

web/src/components/projects/ProjectActions.tsx

Edited:

web/src/components/modals/ConfirmDialog.tsx

Project deletion now shows a confirmation modal with 'Delete [project name]?'. I will open a pull request with the changes.

Bash:

Commit changes and create PR

Add confirmation modal before project deletion

#2860

2 file +42 -5

master ← indent-2025-11-25-delete-confirmation

CI Checks for #2860

5 Passed

1 failed

It looks like there's a failing test. Let me fix that now.

CI checks for #2860

4 passed

2 pending

Prompt

Plan

Implement

Iterate

01

Ship faster

Plan and complete tasks end-to-end

Indent Code is a coding assistant that takes instructions, asks clarifying questions, and implements the required changes.

The integrated environment offers a seamless experience: edit, test, and debug without friction.

It works in a remote development environment with zero compromises: it can run builds and use a browser.

Josh

9:19 AM

@indent

How is the Hospital Partnership marketing campaign performing so far?

1 reply

1 minute ago

Analyzed for 1m 24s

Referencing 5 observations

Searched:

marketing campaigns performance • 25 schemas

Search codebase:

hospital|campaign|track

Query:

lookup-hospital-partnership-performance

Query:

compare-hospital-partnership-to-recent-campaigns

Campaign summary:


  • 68,450 impressions, 1,369 clicks (2.0% CTR)

  • 74 conversions (5.4% conversion rate)

  • $14,250 spend, $192.56 cost per conversion

  • $96,000 pipeline value, 573% ROI


Top channels:


  • LinkedIn (41 conversions, 6.8% conversion rate)

  • Google Search (22 conversions, 4.5% conversion rate)

  • Direct/Email (11 conversions, 9.2% conversion rate)

Explanation

Saved one observation about how conversion rate is calculated

Query

Answer

Remember

ask

02

Answer questions

Your new AI data analyst

Meet Indent Data, your AI data expert. It takes commands, seeks details, and makes changes.

The platform provides a smooth experience to test and evaluate data without any problems.

It integrates seamlessly with all platforms: perform analyses and use a browser without limitations.

System rules

  • Always use design tokens for colors, never plain hexcodes

  • Always use semantic values in components

  • Never introduce spacing values that aren't in the design system

Ran 9 commands, Searched 5 patterns, Read 17 files

Posted 4 comments

Indent Code is addressing 3 comments

indent

bot

commented

indent

bot

left a comment

Author

Partial token adoption: The boxShadow property mixes token and hardcoded values. The first shadow layer correctly uses --shadow-color-sm, but the second layer contains a raw oklch value, bypassing the design system. ( src/components/Tooltip.tsx line 112)

Change proposed by

Indent Code

112

-

0 10px 24px -4px oklch(0.25 0.02 260 / 0.18)

112

-

0 10px 24px -4px var(--shadow-color-lg)

Accept change

Reject

Standards

DEPTH

Feedback

autofix

03

Review code

Enforce quality on every change

Made for opinionated teams: enforces nuanced code standards in large codebases. Nothing slips through

Diffs, not nits: integrates with Indent Code to propose real, tested changes for you to merge

Improves on its own: ignored feedback will stop being suggested, and incorrect comments will never be made

Issues

IND-102

Hydration Error: Minified React Error #418

Component failed to mount on /pricing

Hydration Error: Minified React Error #418

Severity

High

Issue on

Frontend

Routing to

@dkzlv

Analyzed for 45s

Grep:

"PriceCard" src/components

Git history:

--file PriceCard.tsx

Read:

PriceCard.tsx

Analysis

Confidence: 98%

Root Cause: The PriceCard component generates a random ID on every render. Because the server renders this once and the client re-renders it on load, the IDs do not match, triggering React Error #418.


Context: This was introduced in PR #402 (Pricing Redesign) by @dkngl.

Change proposed by

Indent Code

24

-

const id = Math.random().toString(36);

24

-

const id = useId(); // Stable hook

Dismiss

Create PR

TRIGGER

TRIAGE

analysis

autofix

01

Fight fires

From “is anyone around?” to “Indent handled it.”

Zero-friction incident response: every monitor, alert, or error is immediately and thoroughly investigated

Cuts through noise: Indent Oncall knows when to bring humans into the loop

Reduce incidents over time: resolve the issue and work with Indent Code to prevent it next time

Teams shipping with Indent

Teams shipping with Indent

How Flipturn uses Indent:
One Agent, Every Surface

How Flipturn uses Indent: One Agent, Every Surface

Fundamentally Changing How a Company Asks and Answers Data Questions

Don’t know where to start? Try Code Review free for 60 days

Don’t know where to start? Try Code Review free for 60 days

Don’t know where to start? Try Code Review free for 60 days

Company

We’re hiring

Security

Skip the docs.

We'll walk you through everything.

© 2026 Indent

Company

We’re hiring

Security

Skip the docs.

We'll walk you through everything.

© 2026 Indent

Company

We’re hiring

Security

Skip the docs.

We'll walk you through everything.

© 2026 Indent