Welcome to My Thoughts & Articles
Here you'll find in-depth blog posts, insights, and stories. Enjoy exploring!
"Enjoying The App?" Is The Wrong Way To Ask For A Review
"Enjoying the app? Would you like to give a review?" guarantees a no. Most apps ask too early or interrupt the wrong moment. Here's the timing that actually earns five-star reviews, without annoying a single user.
Your App Feels Heavy. Your Images Are Usually Why
Your app's size and speed come mostly down to its assets, and assets are the easiest thing to get lazy about. Prefer SVGs, pick the right format when you can't, and stop shipping a 4MB image a 200KB one would cover.
Your App Speaks English. Most of Your Market Doesn't
Most of the world doesn't default to English, and people are far more likely to trust an app that speaks their language. Localization is how you reach them, and it pays off twice when you localize your app store listing too.
Once You Ship, You're Blind. Build Eyes Into Your App.
Once your app ships, you can't watch it like a server. You're guessing what users do and blind to what breaks. Analytics shows what people actually use, crash reporting shows where it fails. Here's how to set up both.
Your Shipped App Is Frozen. Remote Config Is the Remote Control
Changing your app usually means shipping a new build and waiting for everyone to update. Remote config breaks that loop: a cloud switch for feature flags, update prompts, and in-app announcements, all without touching the store
You Shipped the Fix. Your Users Are Still Running the Bug
You found a critical bug, shipped the fix, and your users are still on the broken version. Getting people onto your latest build is its own problem. Here are three ways to build an update mechanism, and why you wire it in on day one.
Your App Runs, But That Doesn't Make It Production Ready.
On the web, a fix reaches everyone in seconds. On mobile, your app freezes in users' pockets the moment it ships. Here are 7 things to wire up before launch, because adding them later is brutal.
Stop Spraying and Praying: My Playbook for Push Notifications That Actually Convert
Your users get 80+ notifications a day. Yours is one of the ones they swipe away without reading, if you even have push notifications set up at all. Here's how I fixed that across my apps.
Building a Framer Inspired CMS
Covers how I built a framer and notion inspired cms system for my portfolio site with next js.
Stop Hardcoding Colors in Flutter. Set Up Theming the Right Way.
A walkthrough of how to set up a scalable theming system in Flutter using ThemeExtension
Building This Portfolio: From Framer Inspiration to a Custom CMS
How I went from browsing Framer templates and Notion's editor to building a full portfolio with a custom admin dashboard, Tiptap-powered blog editor, and base64 image handling.