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.