The Idea After deciding to build an iOS app using AI, the first thing I set out to create was a metronome app designed for dark stage environments. Back in college, I played drums — and while that was a while ago, there weren’t many metronome apps that felt both clean and professional. (Turns out, that’s still true today.) That’s what led me to the idea: a simple, black-and-white metronome where
I have a confession: I'm a productivity app addict. Notion, Todoist, Things, TickTick, Bear, Obsidian — I've tried them all. And every single one failed me in the same way. Not because they were bad apps. But because they let me add unlimited tasks. So I'd wake up Monday morning, open my to-do app, and see 47 items staring back at me. By 9am I was already paralyzed. Decision fatigue is real. When
I'm going to give you the comparison I couldn't find when I was choosing. Most "Claude Code vs Cursor" articles are either vibe-based or benchmarks that don't match solo indie dev workflows. I wanted something grounded in an actual multi-product project: 4 iOS apps, 5 distribution surfaces, 11 public repos, CI/CD across all of them. So I spent 14 days building exactly that — exclusively with Claud
It's a one-line item on the roadmap. "Send a push notification when X happens." Estimate is two days, three if the backend doesn't have FCM credentials yet. There's a library for it. The library is the visible part. The other 90% is platform lifecycle, registration state machines, race conditions with navigation, payload archaeology, and a half-dozen iOS and Android quirks. Nobody writes them down
I shipped gni-compression to npm two days ago. One of the first questions I got (from myself, running benchmarks at midnight): does it work on anything other than chat data? Short answer: not yet. Long answer: I found out exactly why, and it led me somewhere more interesting than I expected. After the npm launch I ran GN against Silesia — the standard general text compression benchmark suite. Dick
Introduction Picture two doctors updating the same patient record at the same time - one in São Paulo, the other in London. Both are offline. When connectivity returns, whose changes prevail? This is not a hypothetical. It is the everyday reality of distributed systems: multiple nodes, no shared clock, no guaranteed network. The conventional answer has long been locking - one node waits while an
I keep seeing the same argument about AI making us dumber. It's the same argument people had about search engines, and before that books. The usual response is to point at history and say "every generation panics, every generation was wrong, relax." I think that response is half right, and the wrong half is what bothers me. Tools change what we bother to remember. The people who'd trained their wh
A few years ago I solved 200 LeetCode problems and still froze on Mediums I hadn't seen. The breakthrough wasn't another hundred problems. It was a different loop. A problem asks for the longest substring with at most K distinct characters. You've solved sliding window before. Maximum sum subarray of size K, done. Longest substring without repeating characters, done. This third one stalls you. Twe