Introducing ErrSight: see every error before your users do
Your users should never be the ones who tell you production is broken. Today we’re launching ErrSight: real-time error tracking and log management in a single tool, built to catch problems before a support ticket ever lands.
The problem: errors reach users first
Most error tracking setups fail in one of two predictable ways.
The first is silence. An exception fires deep in a background job, gets swallowed by a generic rescue, and the only signal you get is a confused user emailing support three days later. By then the stack trace is gone and you’re reverse-engineering a bug from a screenshot.
The second is noise, and cost. The incumbents will happily capture everything, then bill you for the privilege across a tangle of event categories, reserved volumes, and pay-as-you-go overages. You tune sample rates not because it’s good engineering, but because you’re scared of the invoice. The dashboard fills with duplicate alerts for the same root cause until nobody reads them.
We wanted error tracking that is loud about real problems, quiet about duplicates, and honest about the bill. So we built one.
What ErrSight is
ErrSight is real-time error tracking and log management, together, with a tagline we actually mean: see every error before your users do.
It does two jobs that usually require two vendors:
- Exception tracking: automatic capture, grouped into actionable issues you can triage.
- Log management: a live, searchable stream of everything your app is saying, in the same place.
You install it in under two minutes, ship it where you already ship, and stop bouncing between a logging tool and an error tool to reconstruct a single incident.
The core, in plain terms
Automatic capture and fingerprinting
ErrSight captures exceptions automatically, with no manual try/catch plumbing around every call site. The important part is what happens next: identical errors are collapsed via fingerprinting into one issue. A bug that throws ten thousand times is one line in your dashboard with a count of ten thousand, not ten thousand lines. That’s the difference between a signal and a denial-of-service attack on your own attention.
A live log viewer that feels like a terminal
The live log viewer is a terminal-style stream with infinite scroll and keyword search. It’s the view you reach for at 2 a.m.: watch events arrive in real time, search for a request ID, and follow the story across services without grepping ten boxes by hand.
Automatic user context
Every event carries user context automatically: id, email, session, and plan. When an error lands, you already know who hit it and what tier they’re on, so you can tell “one flaky test account” apart from “every Business customer at once” instantly.
Triage that respects your time
Issues aren’t just a feed. You can mark, assign, and snooze them, so the on-call rotation stays focused on what’s actually actionable instead of drowning in a wall of red.
Sub-millisecond overhead
Observability shouldn’t tax the thing it observes. ErrSight batches events off the request path, so per-request overhead is sub-millisecond and nothing is dropped on exit. We break down the mechanics in the Rails guide.
Ship where you already ship
ErrSight meets your stack where it lives. Here’s what’s shipping today and what’s on the way.
| Platform | Package | Status |
|---|---|---|
| Ruby on Rails | errsight |
Available |
| Python (3.8+) | pip install errsight |
Available |
| Rust (1.85+) | errsight = "0.1" |
Available |
| React / JavaScript | errsight |
Available |
| React Native | errsight-rn |
Available |
| REST API | POST /api/v1/events |
Available |
| Node, Go, PHP/Laravel, Elixir/Phoenix | n/a | Coming soon |
A Rails setup is the canonical “two-minute install”: one gem and one initializer:
# config/initializers/errsight.rb
Errsight.configure { |c| c.api_key = ENV["ERRSIGHT_KEY"] }
That auto-captures every Rails exception and routing error, broadcasts from Rails.logger at all levels, and attaches request, user, controller action, and URL context. It has first-class Devise and ActiveAdmin support, and it respects config.filter_parameters so sensitive data stays local. We walk through the whole thing in error tracking in Rails in 2 minutes.
The Python SDK ships middleware for Django, Flask, FastAPI, and Starlette (sync and async), plus Celery, RQ, and AWS Lambda, with ContextVar scope isolation and a logging.Handler drop-in:
pip install errsight
The React/JS package has zero dependencies, is ESM-first, and gives you a drop-in <ErrorBoundary> that captures window.onerror and unhandledrejection:
import { init } from "errsight";
init({ apiKey: "elp_live_…", env: "production" });
And when you need raw access, the REST API takes single events or batches of up to 100, authed with an X-API-Key header, CORS enabled, with idempotency keys:
curl -X POST https://errsight.com/api/v1/events -H "X-API-Key: elp_…" -H "Content-Type: application/json" \
-d '{"level":"error","message":"Payment failed"}'
See the full lineup on the integrations page and the docs.
Our philosophy: predictable bills, no lock-in
Two principles shaped ErrSight more than any feature.
Flat, predictable pricing. Pick a tier, know your bill. No overage tiers, no asterisks, no “contact sales for volume.” When you approach your monthly event limit, ErrSight notifies you rather than silently dropping data, then you upgrade or grab an add-on pack. The contrast with usage-and-quota billing is the whole point, and we lay out the full model honestly on our pricing page.
And there’s a free tier at $0/month, forever, with no credit card, genuinely useful for side projects and small apps, not a teaser that expires.
No lock-in by design. ErrSight is open source under AGPLv3. The OSS edition runs the same ingestion, fingerprinting, real-time logs, and alerting engine as the SaaS, just with billing and quotas stripped out. Self-host it on Docker Compose plus Postgres. Your data, your call.
Try it today
You can be watching live errors in the next two minutes. Spin up the free tier on errsight.com (no credit card, no sales call) and see every error before your users do. When you’re ready to dig in, the pricing is right there in the open, exactly where pricing should be.