Building Koolbase
Engineering notes, launch stories, and the occasional deep dive from the team shipping backend-as-a-service with over-the-air code push.
Four things a tax authority told us that its documentation didn't
Four things a tax authority told us that its documentation didn't
We integrated Koolbase with Ghana's e-VAT system. The published spec was accurate. It was also incomplete in four ways that only a real request could reveal.
Flutter apps aren't supposed to update themselves. Mine does.
Flutter apps aren't supposed to update themselves. Mine does.
A store-shipped Flutter app changing its behavior over the air, on a real iPhone — why that's genuinely hard, and what it unlocks.
Rolling out a code push without holding your breath
Rolling out a code push without holding your breath
Shipping a fix to every device at once is a gamble. Here's how to roll a Koolbase code push out to a slice of your users first, watch it, and widen it only once the numbers say it's safe — all from the dashboard.
We shipped a default that silently failed in Gmail. Here's what we changed.
We shipped a default that silently failed in Gmail. Here's what we changed.
Our auth email templates accepted custom URL schemes. Gmail strips those. We found it building on our own platform — here's the failure, the full universal-links setup, and the guardrails now in the dashboard.
Free projects never pause
Free projects never pause
Why your Koolbase project stays warm on the free tier forever — and why that's a consequence of how it's built, not a promise waiting to be revoked.
One SDK for Flutter, one for React Native: what 'parity' actually means
One SDK for Flutter, one for React Native: what 'parity' actually means
Supporting two ecosystems is easy to claim and hard to keep honest. Here's the discipline behind 'a feature isn't shipped until it's in both SDKs.'
Apple's guideline 3.3.2, and the line code push has to stay inside
Apple's guideline 3.3.2, and the line code push has to stay inside
Over-the-air updates and the App Store rules aren't at war — if you understand where the line actually is. A plain-English read of the guideline that governs code push.
Why I went this deep on code push
Why I went this deep on code push
I could have built the easy 90% and shipped months earlier. Here's why I went down into the parts nobody sane volunteers for instead.
Why I built code push into the backend, not as a separate tool
Why I built code push into the backend, not as a separate tool
Code push already exists as a standalone product. Here's why I think it belongs next to your auth and your database instead.
Two weeks in App Store review limbo
Two weeks in App Store review limbo
I submitted an app and then watched it sit. No status, no ETA, no human. Here's what that does to you as a solo founder — and why it's the whole reason I built what I built.