Laravel developers have Telescope: a beautiful, dropped-in dashboard that records every request, query, exception and job, and lets you scrub through them like a flight recorder. Node developers have... winston piped to a file, a New Relic agent, and a tab full of console.log. I wanted Telescope for Express.
So I wrote it. It's called Express Telescope, and the headline trick is: no build step.
What it does
- Records HTTP requests โ method, path, status, latency, request and response bodies, headers (with redaction).
- Records database queries โ works out of the box with Prisma and Drizzle, easy to extend to anything.
- Records exceptions โ full stack, request context, and the parameters that triggered them.
- Browse them all in a clean dashboard at
/telescope.
Why no build step
Every "drop in this debug tool" library I've tried has either fought my bundler or required a parallel build process for its UI. That defeats the whole point of "debug tool". Express Telescope's UI is pure vanilla JS, served directly from the package โ no React, no bundler, nothing to invalidate. npm install, mount the middleware, open the page.
Why SQLite
The recorded data is local-only by design. SQLite is the right answer for that: zero ops, embedded, fast enough for any debugging workload. If you want to ship telemetry to a remote system, you already have OpenTelemetry. Telescope is for the question "what just happened on my laptop?".
The design constraints
- It must be safe to leave on in development. No leaks of secrets in headers. No 100x slowdowns.
- It must be impossible to leave on in production by accident. The middleware no-ops unless explicitly enabled.
- It must work the same in JavaScript and TypeScript projects. No "TypeScript-only" features.
- It must be readable. Vanilla JS UI, less than a few thousand lines, anyone can fork it.
The best debug tools are the ones you'd happily rebuild from scratch in a weekend. Express Telescope is one of those.
What it isn't
This is not an APM tool. It's not a replacement for Datadog or New Relic. It's a developer's flight recorder for the local machine and CI runs โ the thing you reach for when you ask "what request actually came in?" five times a day. Once you have that, you stop guessing.