Built for code in production · Observability 3.0

# The console can wait.
The stack trace can't.

Application monitoring built for developers who actually read the stack trace. Errors, performance, profiling, replays — one platform, one query language, one bill.

Get Started Get a Demo
sentri.app / acme-web / issues / SENT-2814
prod live
ERROR TypeError · checkout.tsx
12 import { computeTotal } from "@/lib/cart"
13
14 export async function checkout(cart) {
15 const total = computeTotal(cart.items)
16 → Cannot read properties of undefined (reading 'price')
17 return await stripe.charge(total)
18}
at computeTotal (lib/cart.ts:42)
at checkout (checkout.tsx:16)
at POST (route.ts:9)
DETAIL Issue context
events 1,284
users 412
first seen 2h ago
last seen 12s ago
environment production
release web@v2026.5.20
browser Chrome 134
node v22.4.0
suspect commit a3f29c · river@
+ assign + resolve + replay
Errors. Performance. Profiling.

## Everything you need to debug production.

Stop guessing. Sentri ships errors, performance, session replay, distributed tracing, code profiling, and AI root-cause analysis under one unified data model — query it all in one place.

### Error monitoring

Every uncaught exception, stack-traced and grouped. Suspect commit, breadcrumbs, and the user who hit it — in one view.

events/day· 18.4M

### Performance

Distributed tracing across services, browsers, mobile. Find the slow span — even when it's three jumps deep.

p95 trace· 240ms

### Session replay

Watch the exact pixels your user saw when the error fired. Rage clicks, dead clicks, console errors — captured.

replays/day· 2.1M

### Code profiling

CPU and memory profiles, line-by-line. Find the hot function before it costs you a server.

fns sampled· 940M/wk

### Releases + suspect commit

Tie every error to a release, every release to a commit, every commit to a developer. Blame, kindly.

commits matched· 99.2%

### Sentri AI · suspects

The AI reads your traces, replays, commits, and tells you the root cause in plain English — usually within 30 seconds.

root cause· 73% auto
Three lines

### Install. Wrap. Ship.

Install the SDK for your runtime, wrap your app, deploy. Sentri starts capturing the moment your first error fires — usually within seconds.

JavaScript Python Go Ruby Rust PHP iOS Android

    # 1 — install
    $ npm install @sentri/nextjs

    # 2 — wrap your app (instrumentation.ts)
    import * as Sentri from "@sentri/nextjs"

    Sentri.init({
      dsn: "https://abc@o0.ingest.sentri.io/0",
      tracesSampleRate: 1.0,
      replaysSessionSampleRate: 0.1,
      release: "web@v2026.5.20",
      environment: "production"
    })

    # 3 — ship.

Pricing

## Pricing plans for dev teams of all sizes.

Pay by volume. No per-seat tax. No data-residency tax. The free tier is genuinely free, and the next one is the one you actually want.

### Developer

$0/ mo

For solo devs and side projects. No card required.

- 5k errors / mo
- 10k performance events
- 50 replays
- 1 user
- Community Discord

Start Free

### Team

$26/ mo

For startups shipping fast. The usual suspects, included.

- 50k errors / mo
- 100k performance events
- 500 replays / mo
- Unlimited users
- Email + chat support

Start Trial

### Business

$80/ mo

For scaling teams. Profiling, AI suspects, suspect commit.

- 250k errors / mo
- 1M performance events
- 10k replays + profiling
- Sentri AI · root cause
- Priority support
- SAML SSO

Start Trial

### Enterprise

Talk· custom

For regulated industries. SLA, BAA, dedicated CSM.

- Unlimited volume
- SOC 2 + HIPAA + BAA
- SLA · 99.95% uptime
- Dedicated CSM
- Self-hosted option
- Audit log + retention

Talk to Sales

## Design system reference

Tokens, type ladder, radius, components — pulled from the captured DESIGN.md.
View source DESIGN.md ↗

### Color

Dual-polarity. Violet-midnight + lime keyword chip for marketing; pure white for transactional. Lime is a typographic device, never a button.

Brand & accent

Primary
#150f23
Ink deep
#1f1633
Lime
#c2ef4e
Pink
#fa7faa
Violet
#6a5fc1
Violet deep
#422082

Surface

Canvas dark
#1f1633
Night
#150f23
Canvas light
#ffffff
Hairline violet
#362d59
Hairline cool
#cfcfdb
Hairline cloud
#e5e7eb

Text & state

On primary
#ffffff
Ink
#1f1633
On-dark 72%
rgba(255,255,255,.72)
On-dark 18%
rgba(255,255,255,.18)
Violet mid
#79628c
Press light
#f0f0f0

### Typography

Chunky display sans for hero (Rubik 700 stand-in), Rubik for UI, Monaco for code. Buttons + eyebrows are always uppercase with 0.2px tracking.

display-hero
88 / 700 / 1.2
The stack trace
display-large
60 / 500 / 1.1
Debug production
heading-xl
30 / 500 / 1.2
Pricing plans
heading-md
24 / 500 / 1.25
Card title
body-lg
16 / 400 / 2.0
Marketing prose with airy 2.0 leading.
body-md
16 / 500 / 1.5
Default UI body, table cells, form labels.
button-cap
14 / 700 / +0.2 · UPPER
GET STARTED
eyebrow
15 / 500 / 1.4
Errors. Performance. Profiling.
code
16 / 400 · Monaco
Sentri.init({ dsn })

### Radius

Buttons + code blocks at 8px, pricing cards at 12px, illustration containers at 18px. Pill-radius for avatars.

xs
4px
sm
6px
md
8px
lg
10px
xl
12px
xxl
18px
full
9999px

### Components

Single-polarity CTAs (primary on light, inverted on dark), uppercase button caps, lime keyword chip = typographic device, never a button.

#### Buttons

primary GET STARTED
inverted
GET STARTED
ghost-on-dark
GET DEMO
violet-token+ ASSIGN

#### Pills & chips

chip-lime-keyword trace
pill-neutral-dark
prod ● live
violet-token+ RESOLVE

#### Inputs

text-input
focused
select-violet
United States ▾

#### Code block

    # install
    $ npm i @sentri/nextjs
    Sentri.init({ dsn })

#### Mascot stickers (decorative — never inside cards)

VIEW DESIGN.MD ↗