notes
Notes on software engineering, web performance, and the things I learn while building. Every post lives on my blog.
Most rate-limiting tutorials lead with algorithms. The useful part — what to return when a client hits the limit and how to avoid a retry storm — comes later.
I used an AI assistant to build a file upload feature. Most of it worked. The parts that didn't reveal exactly where human judgment still can't be skipped.
A retried payment double-charged our customers at 3am. Idempotency keys fixed it, and now I add one to every write endpoint before I ship it.
The hardest part of freelancing from Nepal wasn't writing code - it was scoping, pricing, and getting paid. Here's what I'd tell my younger self.
We migrated a production app to React Native's New Architecture. Here's what the bridge rewrite actually bought us, and where it wasn't worth the pain.
Our biggest performance win came from deleting a render-blocking script and a bloated hero, not from clever optimization. Here's what I removed and why.