SwiftUI animation patterns: implicit, explicit, matchedGeometryEffect
SwiftUI animation works at three levels. When each one is the right call, with examples from real projects.
Core Web Vitals 2026: what actually matters about LCP, INP, and CLS
Google's Core Web Vitals directly affect SEO. Why LCP, INP, and CLS matter, and how to measure and optimize them.
Core Animation performance debugging: finding the expensive layer
Laggy scroll, janky animation. How to find which layer and which property is expensive using Core Animation Instruments.
Customizing WooCommerce checkout: from hooks to Blocks, the modern take
WooCommerce checkout customization is shifting from hooks to Block-based. Which approach makes sense in 2025?
Hunting memory leaks with Instruments: three real scenarios
Memory leaks are the sneakiest problem in iOS apps. Real examples using Xcode Instruments' Leaks and Allocations tools.
What actually matters about CORS: preflight, credentials, wildcard
Every frontend developer runs into CORS errors. Here is how it actually works and what each header really does.
Swift 6 concurrency migration: are you actually ready?
Swift 6 makes strict concurrency checking the default. How I migrate a 100K+ LOC codebase, and how to really understand actors, Sendable,…
Distributed rate limiting: sharing state across a server cluster
Rate limiting on a single server is easy. Across a 5 node cluster it is a shared state problem. Redis Lua, database,…
iOS 18 features that actually pay off in shipping apps
WWDC 2024 introduced iOS 18. Apple Intelligence, the new Control Center, tinted icons. Which of them are worth shipping, and which are…
Code review that improves quality without slowing the team down
Most teams' code review is either too slow or too shallow. Both are bad. Here is how I run reviews that are…
iOS 17 Privacy Manifest: how to fill it in correctly
Apple's PrivacyInfo.xcprivacy file is mandatory at submission time. Get it wrong and you get rejected.
API test automation: from Postman to Newman, straight into CI
Running API tests by hand is a bad habit. The discipline to take a Postman collection into a CI pipeline.