Bulletins
Service bulletins.
Announcements, engineering notes, and field reports from the line. Posted when there’s something worth posting. Not before.
Self-host
Self-host Traceway in 90 seconds
Collector, ClickHouse, Postgres — one compose file, zero config, full Cloud parity on your own metal.
→Agent skills
Stop pasting stack traces into chat
One command teaches Claude Code, Cursor, or Codex to query your exceptions, logs, and metrics itself.
→Announcements
Follow the request like a line on a map
Why we built an MIT-licensed APM where every hop is a station and every signal is a transfer.
→Engineering
How to build an AI SRE agent [Part 1]
A beginner-friendly walkthrough for building your first AI SRE agent. In this tutorial we'll catch a production error, open an issue, and set up an automatic workflow that runs Claude Code to investigate and fix the root cause. When it's done it will open a PR linked to the original bug, or leave a comment explaining why the issue could not be automatically addressed.
→Engineering
SQLite vs DuckDB on the same $16 box: every cliff moved 100x
Same $16.49/month server, same Traceway binary, two embedded databases. DuckDB writes 4x to 15x faster than SQLite, serves dashboards at 100x the row count, and stores a billion metric points in 10.8 GB. Full numbers and methodology inside.
→Engineering
The MCP server was the easy part
Traceway now speaks MCP — a remote server with OAuth login built in, and a local stdio one that rides the CLI session. How it works, the three ways to authenticate, and when I'd still reach for the CLI instead.
→Engineering
System Design: Building a world-class symbolicator
The shape of your data can make a service fast or slow. A walk from the slow version to the fast one, built on a real example — turning unreadable production crashes back into readable code.
→Engineering
Reading an obfuscated Flutter crash by hand
Turning an obfuscated crash back into a function name and a line number looks like magic — so before automating a single step of it, we did the whole thing by hand on one real crash.
→Engineering
I tried to break SQLite. The reads broke first.
Post 1 only measured metrics writes. This time I ran spans, metrics, and logs against the same $16.49/month CCX13 box, and probed real dashboard queries at 100k, 1M, and 10M rows.
→Engineering
Deep dive into the JS/TS toolchain: How source maps fall short where it matters most
What actually happens between your TypeScript and a production stack trace, decoded entirely by hand.
→Engineering
I Ran My Entire Observability Stack on SQLite. You Probably Could Too.
Most observability stacks optimize for throughput your startup will never use. We optimized for accessibility instead — easy and cheap to run — and hit 58K metric points/sec anyway. Here is the full benchmark.
→Engineering
Flutter Session Replay: See What the User Did
The missing layer of mobile observability. Open source session replay for Flutter — architecture, benchmarks, and everything I ruled out first.
→Stay aboard
Never miss a departure.
Releases most days, bulletins when they matter. The repo and the Discord hear it first.