Home / Blog

Blog

Short technical notes on SaaS, iOS, API and WordPress.

Fastlane release automation: the pipeline I run across 12 apps

An iOS release should be one command. Here's the repeatable pipeline I use on 12 shipped apps.

Blog 6 min

Where circuit breakers actually earn their keep in production

When a downstream service fails, don't go down with it. When circuit breakers are needed, how to implement them correctly.

Blog 6 min

Xcode Cloud or Fastlane: when each one earns its keep

Apple's native CI/CD is Xcode Cloud. Is it a Fastlane replacement or a complement? After trying it on two projects, here's how…

Blog 5 min

Doc-first API development with OpenAPI: the discipline that pays off

Writing docs after the fact is an anti-pattern. Four practical wins from writing the OpenAPI spec first.

Blog 6 min

Crash symbolication: the dSYM discipline that keeps stack traces readable

You got a crash in Crashlytics, but the stack trace is hex addresses. Why? Your .dSYM files never made it. The discipline…

Blog 6 min

Log aggregation from zero: building a production ELK stack

How do you collect logs across ten microservices? Here's how the Elasticsearch, Logstash, Kibana stack actually goes together on real projects.

Blog 6 min

How I cut an iOS app from 150MB to 40MB

Dentii's binary had swollen to 150MB. Every release the size crept up. Here's how I got it down to 40MB and what…

Blog 7 min

API gateways in production: Kong vs Traefik vs rolling your own

In a microservice system the gateway is the hinge everything swings on. Kong, Traefik, or a custom gateway: here are the criteria…

Blog 6 min

Subscription analytics: RevenueCat vs a custom implementation

For iOS subscription analytics: the RevenueCat SDK or a custom implementation? What I've tried across 12 apps.

Blog 6 min

Picking a message queue: Redis, RabbitMQ, SQS compared

Async work needs a message queue. Redis, RabbitMQ, AWS SQS. Which one fits which scenario.

Blog 6 min

Collecting in-app feedback: three approaches that actually work

Users hit problems in your app but rarely leave an App Store review. Three approaches to collecting in-app feedback.

Blog 6 min

Pagination: cursor vs offset, and when to pick which

Two ways to paginate lists in an API: offset-based (LIMIT/OFFSET) and cursor-based. How each affects performance and user experience.

Blog 5 min