Writing
Things that broke in production, and what I changed. Written mostly so the next person does not lose a day to the same thing.
All posts
It worked until the hundred and first
Jul 2026Permissions were being read one page at a time. Nobody noticed for a year, because nobody had more than a hundred of them.
ReadPicking fields is not access control
Jun 2026If the only reason a client never sees a number is that the app forgot to ask for it, that is not a boundary. That is a habit.
ReadTen that looked like a thousand
Jun 2026Prices are stored in the smallest unit, so the number in the database is a hundred times the price. Miss the conversion once and a cheap extra looks expensive.
ReadNobody could pay
Apr 2026A safety check meant to protect customers was the thing blocking them. The server had the wrong idea about its own address.
ReadPaid, but the order never finished
Apr 2026The money went through. The order stayed a draft, because finishing it depended on the customer coming back to our page.
ReadGet in touch
I am not looking for a full-time role, but I do take on projects. If you have something you want built, or something that is broken, send me an email with what you are trying to do.