Home / Blog

Blog

Your blog category

80% test coverage: signal, target, or theater?

The 80% coverage target is treated as industry gospel. I've shipped projects at 95% and at 30% and can tell you the…

Blog 3 min

preload, prefetch, preconnect: three hints that solve three different problems

Used right, resource hints make a page faster. Used wrong, they do the opposite. Here is how I tell the three hints…

Blog 3 min

Headless WordPress with Next.js: picking between WPGraphQL and the REST API

Choosing your data layer for a headless WordPress + Next.js site is a high-leverage decision. Here is how WPGraphQL and the WP…

Blog 6 min

API deprecation without burning your consumers: a 6-month playbook

Moving an API from v1 to v2 is more than a URL change. Here is how to shape a six-month deprecation cycle:…

Blog 6 min

iOS onboarding that actually moves retention: what 12 apps taught me

The first five seconds decide an app's fate. Here are the onboarding patterns I've A/B tested across 12 apps, and which decisions…

Blog 7 min

Multi-tenant data export and erasure: shipping GDPR without leaking tenants

Users have the right to export and delete their data. Here is how to design that in a multi-tenant system without leaking…

Blog 7 min

Test pyramid: the real split between unit, integration, and E2E

The classic 70/20/10 test pyramid advice doesn't always hold on real projects. Practical splits from three projects.

Blog 6 min

Service Worker caching: shipping an offline-first web app

Building a web app that keeps working when the network dies is a modern web superpower. Cache strategies, precaching, runtime cache, update…

Blog 6 min

Headless WordPress migration: the path to a 35% speed lift

A six-month migration from traditional WP to headless (WP backend plus Next.js frontend). How much speed, how much complexity?

Blog 6 min

API error responses: Problem Details (RFC 7807) in practice

Every API invents its own error format and client devs keep rewriting parsers. RFC 7807 Problem Details is the standard fix. What…

Blog 7 min

SwiftUI Preview: productivity multiplier or comfortable illusion?

SwiftUI Preview speeds up design iteration but can hand you false confidence. Notes on how I use it across 12 apps.

Blog 5 min

Audit log architecture: building an immutable trail that holds up

Audit logs are mandatory for regulation, security, and forensics. Production notes on append-only storage, tamper detection, retention policy, and search performance.

Blog 7 min