Practical insights on building, launching, and monetizing indie products.

Based on real iOS and web apps — what worked, what failed, and why.

How I Built a Privacy-First GIF Maker That Runs Entirely in the Browser

Most online GIF makers follow the same pattern. You upload your images. They get processed on a server. You wait. And somewhere in the background, your files are stored, scanned, or logged. For many users, that’s unnecessary friction. All they want is simple: turn a few images into a GIF and move on. That observation is what led to AnimateGifMaker — a lightweight, privacy-first GIF maker that runs entirely in the browser.

Apple Guideline 3.1.2 Explained: How a Missing Link Blocked Our Subscription Release

Launching auto-renewable subscriptions on the App Store is not just a product or pricing decision. It is also a compliance milestone—and many apps only discover this when their binary gets rejected. This article documents a real rejection we encountered while submitting LingoBoard, why it happened, and how we resolved it to successfully pass App Store review. The Rejection: Guideline 3.1.2 – Business – Payments – Subscriptions During LingoBoard’s App Store submission, the app was rejected under Guideline 3.1.2, with the following message:

Monetization Is a Product Decision, Not a Pricing Page

When I first added monetization to my product, I treated it as a pricing problem. Monthly or yearly? $4.99 or $9.99? A clean paywall, a polished Pro page, and a subscribe button. Everything worked exactly as designed — except the revenue. Users were active. Engagement was fine. But conversion was consistently low. Nothing was “broken,” yet something was clearly wrong. It took me a while to realize the mistake: I didn’t have a monetization problem. I had a product decision problem.