Xgenious
Open Source · Self-HostedReuses Your Sentry SDKNo Kafka, No ClickHouseNo Per-Event Pricing

Self-Hosted Error Monitoring.
Without the Sentry Bill.

Genius Debug is a minimal, self-hosted Sentry alternative for JavaScript and Next.js/React apps. Capture, group, and triage runtime errors — stack traces, source-mapped code locations, distributed traces, and short session replays — on your own infrastructure.

Documentation

No account required · No credit card · No per-event pricing · Docker or Node + PostgreSQL + Redis

Screenshots

See the Dashboard

Issues, traces, and replays — the same triage loop, running on your own server. Click any screenshot to zoom in.

What is Genius Debug?

Genius Debug is a free, open-source, self-hosted error and performance monitoring platform for JavaScript and Next.js/React apps. It captures runtime errors, groups them into issues, symbolicates minified stack traces, and pairs each error with a distributed trace and a short session replay — all on your own server.

It is not a full Sentry clone. The positioning is deliberate: “own the slice of Sentry you actually use.”Sentry's Team plan starts around $26/month plus per-event overage once you exceed quota, scaling to $80+/month on Business. Genius Debug is free to run — you only pay for the VPS underneath it, and there is no per-event or per-seat charge as your team or traffic grows.

The integration path is compatibility, not reinvention: Genius Debug runs a Sentry-protocol compatible ingestion endpoint, so the official @sentry/nextjs SDK (or other Sentry client libraries) can send events to it exactly as they would to Sentry.io. You keep your existing instrumentation and just repoint the DSN. The ingest path is deliberately thin — it authenticates, rate-limits, and enqueues — so a slow or offline Genius Debug instance never blocks your app.

Genius Debug parses the same Error interface every browser and Node.js runtime exposes, using the Sentry event payload spec ↗ as its wire format. That means switching the backend to a self-hosted instance is a config change — DSN and source-map upload target — not an application code rewrite.

Who It's For

Built for Teams That Own Their Stack

Small-to-mid dev teams

Running Next.js / React apps who find Sentry SaaS overkill or too expensive for the size of the team.

Agencies & product studios

Want error monitoring per client without per-seat pricing eating into margin.

Privacy/compliance-conscious teams

Need error and replay data to stay on infrastructure they control, not a vendor’s.

Self-hosters

Already run their own Postgres and Redis and want one more service, not a new vendor relationship.

Features

The Core Triage Loop. Nothing Extra.

The 20% of Sentry a small team actually lives in, day to day — grouped, symbolicated, traced, and replayed.

Error Grouping

  • Deduplicates errors into Issues by stack-trace fingerprint
  • Short, shareable issue IDs
  • Automatic regression detection when a resolved issue comes back
  • Full event context: request, user, environment, tags

Symbolication

  • Maps minified stack frames back to original file, line, and function
  • Source context around the failing line
  • Debug-ID source maps stored in Cloudflare R2
  • Works with standard Sentry source-map upload tooling

GitHub Integration

  • One-click GitHub App install — personal or org
  • "Open in GitHub" on every stack frame
  • Suspect-commit detection for each issue
  • Auto-resolve when a commit message says "fixes SHORT-ID"

Distributed Traces

  • Span waterfall with per-span timing
  • Error markers placed directly on the trace
  • Linked back to the issue that fired

Session Replay

  • On-error, privacy-masked DOM replay
  • Error-marked timeline — jump straight to the failure
  • See exactly what the user did before it broke

Smart Alerts

  • New-issue, regression, and frequency-spike rules
  • Dedupe, throttle, and snooze to avoid alert fatigue
  • Email delivery via AWS SES

Fast Triage UX

  • Filters, sort, and global search (⌘K)
  • Keyboard navigation — j/k/e/x/↵
  • Merge issues, assign to members, editable highlights

Safety & Scale Controls

  • Remote kill switch — disable ingest with no redeploy
  • Back-pressure shedding under load, dead-letter queue for poison events
  • Time-partitioned events with auto-rolled monthly partitions and retention purges
  • Multi-project support with per-project DSN keys and roles
Comparison

Genius Debug vs Sentry SaaS vs GlitchTip

GlitchTip is the closest self-hosted comparison — lighter to run, but Session Replay and trace waterfalls fail silently. Genius Debug keeps both working.

FeatureGenius DebugFree · Open SourceSentry SaaSGlitchTip
PriceFree (your server costs only)$26–$80+/mo + overageFree self-host · $15+/mo hosted
HostingYour infraVendor cloud (SaaS-first)Your infra
Data ownership100% yoursVendor-held100% yours
Sentry SDK compatibleYes — standard @sentry/* SDKsYes (native)Yes — same wire protocol
Error grouping + symbolicationYesYesYes
Distributed tracesYesYesFails silently (unsupported)
Session replayYes — on-error, privacy-maskedYesFails silently (unsupported)
GitHub deep-links + auto-resolveYesYesNo
Resource footprintSmall VPS (~2 GB RAM)16+ GB (self-hosted) or SaaSVery light (~256 MB RAM)
SetupDocker Compose / VPSSign up (SaaS) or 40+ containers (self-host)Docker Compose / VPS

Sentry pricing and GlitchTip resource figures per each project's published docs, 2026. GlitchTip is Sentry-protocol compatible but does not implement Session Replay, Profiling, or trace waterfalls — those SDK calls fail silently.

How It Works

Client → Ingest → Workers → Dashboard

Four services, one docker compose file. The ingest path is async and best-effort by design — Genius Debug never sits in your app's critical path.

01

Your App Keeps Its Sentry SDK

No SDK swap. @sentry/nextjs (or any Sentry client) keeps sending its standard envelopes — you just repoint the DSN and tunnel route at your own server.

02

Ingest, Queue, Process

A thin ingest endpoint authenticates, rate-limits, and enqueues onto Redis (BullMQ). Workers normalize, symbolicate, fingerprint, and group events into issues — ingest itself stays fast so your app is never blocked.

03

Triage in the Dashboard

Issues, traces, and session replays land in Postgres + R2 and surface in the React dashboard. Filter, search (⌘K), merge, assign, and set alert rules — email delivered via AWS SES.

Quickstart

Docker 24+ and Compose v2. Live in under five minutes.

# unzip your download, then:
cd genius-debug
cp .env.example .env # set JWT_SECRET, APP_ENCRYPTION_KEY, POSTGRES_PASSWORD
docker compose up -d --build # postgres + redis + migrate + ingest + api + workers + web
# open http://localhost:8080 → create your admin account

Full guide: xgeniousllc.github.io/geniusDebug/deployment-guide.html ↗

Built on a Modern, Self-Hostable Stack

NestJS ingest and workers, Postgres for storage, Redis for the queue. Cloudflare R2 and AWS SES are optional.

NestJS + TypeScript

NestJS + TypeScript

Ingest, API, and worker services

PostgreSQL (Drizzle ORM)

PostgreSQL (Drizzle ORM)

Issues, events, and project data

Redis (BullMQ)

Ingest queue and background processing

Cloudflare R2

Cloudflare R2

Source maps and session replay storage (optional)

AWS SES

AWS SES

Email alerts (optional)

React + Zustand + Tailwind

React + Zustand + Tailwind

Dashboard SPA

System Requirements

Any standard VPS — DigitalOcean, Hetzner, AWS EC2, or Coolify.

RuntimeDocker 24+ & Compose v2 (or Node 20 LTS)
DatabasePostgreSQL 16
QueueRedis 7 (BullMQ)
RAM / vCPU~2 GB / 2 vCPU for a small team
Disk~20 GB
OptionalCloudflare R2 · AWS SES · GitHub App

Frequently Asked Questions

No. Genius Debug speaks the Sentry envelope protocol, so you keep the official @sentry/nextjs (or any Sentry SDK) you already have installed and just repoint the DSN at your self-hosted instance. No code rewrite.

No. The SDK path is async and best-effort, and ingest is gated by a remote kill switch. If Genius Debug is down or overloaded, your app is unaffected — it just stops shipping events, nothing blocks.

The software is free and open-source. You only pay for the server you run it on — a small VPS is enough for a small team. There is no per-event, per-replay, or per-seat pricing.

No. The core capture, group, and triage loop works without them. Cloudflare R2 adds source-map symbolication and replay playback; AWS SES adds email alerts. Both are optional add-ons, not requirements.

The ingest backend is platform-agnostic and already groups platform:"php" events, so a Laravel app can send events to it today. A first-class Laravel integration guide is planned for v2 — for now, Next.js / React via @sentry/nextjs is the primary supported path.

GlitchTip is lighter to run but does not implement Session Replay, Profiling, or trace waterfalls — calls to those APIs fail silently. Genius Debug keeps distributed traces and on-error session replay working, so you are not trading away the features that make debugging fast.

Self-hosted Sentry needs Kafka, ClickHouse, Snuba, Relay, Symbolicator, Postgres, Redis, Memcached, and dozens of worker containers — 16GB+ RAM as a bare minimum, more like 32GB if it shares a box with anything else. Genius Debug runs on ~2GB RAM / 2 vCPU because it only implements the triage loop a small team actually uses, not Sentry’s full platform.

Yes. Swap the DSN, disable Sentry’s source-map upload step in CI, and add Genius Debug’s uploader instead. No application code changes are required.

Yes, the full source is included with your download. A formal LICENSE file (MIT is the intended license) is being finalized — check it before relying on Genius Debug for a commercial redistribution.

Still have questions?

Check the docs or open a ticket — we'll help directly.

Download Genius Debug

Full source · Docker Compose ready

  • Ingest — envelope intake service
  • API — dashboard REST API
  • Workers — processing pipeline
  • Web — React dashboard SPA
  • Docker Compose file + per-service Dockerfiles
  • Full documentation