Live Exception Monitoring

See new errors instantly — without touching SQL

A lightweight dashboard that sits on top of your existing exception table and shows your team new errors the moment they appear. Built for release day.

Exception Dashboard — Production
Exception Dashboard
Last updated: 14:32:07  ·  Auto-refreshing every 30s
Total (24h)
42
High
7
Medium
18
Low
17
Timestamp Error Message Type Severity
14:31:58 Object reference not set to an instance of an objectNEW NullReferenceException High
14:31:44 Connection pool exhausted — could not acquire connectionNEW SqlException High
14:28:12 The operation has timed out after 30000ms TimeoutException Medium
14:22:05 Attempted to divide by zero in ReportCalculator DivideByZeroException Medium
14:18:33 File not found: /exports/report_2026-04.csv FileNotFoundException Low

Release day shouldn't mean refreshing SQL every 2 minutes

Your team already logs exceptions to a database. But spotting them requires someone manually running queries — and hoping they catch it in time.

🔁
Constant manual refreshing Someone has to babysit a query window throughout every deployment.
⏱️
Delayed error discovery New exceptions can sit unnoticed for minutes — minutes that cost you.
📭
No alerting Nobody knows when a spike happens unless they happen to be watching.
$SELECT TOP 50 * FROM Exceptions
WHERE created_at > DATEADD(minute,-5,GETUTCDATE())
ORDER BY created_at DESC
-- 3 rows (0 new since last check)
-- ... refresh in 2 minutes ...
$↑ (repeat 40× per release)

Everything you need. Nothing you don't.

Built for release day clarity. Not enterprise monitoring complexity.

🔴
New Error Highlighting
Errors that appeared since your last view are clearly flagged with a "NEW" badge and row highlight — so nothing slips past.
⚡
Auto-Refresh
Dashboard polls your database on a configurable interval (default 30s). No manual refreshing. Toggle it off when you need to focus.
📊
Summary at a Glance
Error counts grouped by type and severity sit at the top of the page. High / Medium / Low — colour coded, always visible.
🔔
Webhook Alerts
Configure a webhook URL and get a POST payload the moment new errors appear. Works with Slack, Teams, PagerDuty — anything that accepts a webhook.
🔧
Fully Configurable
Connection string, polling interval, and webhook URL all live in environment variables or a config file. Nothing hardcoded.
🚀
Deploy in Under an Hour
Runs on Azure App Service or any VPS. Built with .NET — minimal dependencies, no complex build pipeline required.

Simple. Proven. No surprises.

Chosen for maintainability and ease of handover — not for impressiveness.

⚙️
ASP.NET Core Minimal API backend
🖥️
Razor Pages Simple server-rendered UI
🗄️
SQL Server Works with your existing table
☁️
Azure App Service Or any VPS / IIS host

From sign-off to live dashboard in one afternoon

No lengthy onboarding. No discovery phase. Just a working tool, fast.

01
Share your connection string
Point the dashboard at your existing exception table. We map it in minutes — configurable column names, no schema changes needed.
02
Configure & customise
Set your polling interval, severity thresholds, and optional webhook URL. Environment variables. Takes 10 minutes.
03
Deploy to your environment
Push to Azure App Service or your VPS. We can do this for you or hand off the package to your team with deploy instructions.
04
Go live
Open the dashboard in your browser during your next release. That's it. No training required — it's just a table that updates itself.

Stop refreshing SQL.
Start watching a dashboard.

Takes less than a day to deliver. Saves hours every single release.

No commitment required. We'll scope it together first.