Systems | Development | Analytics | API | Testing

Capture once, test forever

We’ve gotten used to understanding our applications through signals, summaries, and traces. Tiny little bits of information about how the app really works. Not because that’s the best way to do it, but because it’s been too hard to get the real thing. The real information exists. It’s on the network. How people called your app and what your code did. What other systems it called, the database queries it made, and the result sets that came back.

Fixing 403 auth errors when you replay traffic

Trigger warning: this one is about Java, authentication, and Docker Compose files. If that is not your thing, I am sorry, but they are part of life and they are honestly not that hard to work with. Everything here is open source on our GitHub repo, so you can follow along. Recording an authenticated Java flow, replaying it, hitting the dreaded 403, and fixing it with a proxymock recommendation.

We won't train on your data is not a security architecture

Every enterprise contract I’ve signed in the last two years has the same clause. “Vendor will not use Customer Data to train machine learning models.” Sometimes it’s a paragraph. Sometimes it’s a whole section. The language varies but the intent is identical: don’t feed our production data into your AI. I get it. I sign the same clause as a vendor. But here’s what’s been bothering me: that clause is a promise, not an architecture.

Validate Spring Boot Upgrades with Traffic Replay

Spring Boot version upgrades—whether moving from 2.x to 3.x, 3.x to 4.x, or even minor bumps like 3.2.5 to 3.3.1—regularly introduce subtle, breaking changes that unit and integration tests miss. JSON serialization shifts, autoconfiguration reordering, and transitive dependency conflicts can silently alter your API contract.

Controlled Rollouts in React Native: How to Push OTA Updates Without Breaking Production

The ability to push an update directly to your users’ devices without App Store review, without delay, without any action required from the user, is one of the most powerful capabilities available to a React Native team. Over-the-air (OTA) updates change how fast you can respond to bugs, iterate on features, and ship improvements. But that power cuts both ways. A bad OTA update reaching 100% of your users at once is considerably worse than a bad store release.

Best 7 Software Engineering Platforms for 2026

Software engineering teams are operating in environments that look very different from just a few years ago. Modern development workflows now span Kubernetes clusters, cloud infrastructure, CI/CD pipelines, AI-assisted coding, distributed architectures, internal developer portals, observability platforms, and dozens of engineering tools that all need to work together without slowing delivery velocity.