What we’re building
Product updates and engineering notes from the engineer building Marsad.
Cookieless analytics without a consent banner
Counting unique visitors usually means storing an identifier on the device, which means a banner. Here is the rotating hash we use instead, and its limits.
Read postOne SDK for errors, traces, and traffic
Most teams install an error tracker, an analytics script and something for Web Vitals — three vendors, one question. Marsad ships all three in one install.
4 min readWhat a trace shows you that a log can't
A log line tells you a request was slow. A trace tells you which of the eleven things it did was slow, and whether the frontend or the backend owns it.
6 min readFlat pricing, not per-seat
Per-seat pricing on an observability tool punishes you for letting people look at production. We priced per organization instead.
3 min readIntroducing Marsad: errors and requests together
We built Marsad because triaging production issues across web and mobile shouldn't mean stitching together three tools. Here's what it does and why.
4 min readHow we symbolicate Hermes bundles
Minified React Native stack traces are useless on their own. A look at how Marsad turns Hermes bytecode frames back into your real source.
6 min readDesigning alert cooldowns that don't cry wolf
Alerting is easy to get wrong — too quiet and you miss outages, too loud and people mute the channel. How we think about dedupe and cooldowns.
5 min read