Writing
Articles and talks about building software and the teams that build it, newest first. I expect to change my mind about some of it.
2026
2025
- An array is not a queueWhat it costs to use a plain JavaScript array as an event queue in a React Native app, and how a ring buffer avoids it.
- Liquid Glass in React NativeWhat Apple's redesign means for a React Native app, how to get native Liquid Glass tabs with Expo, and when it's worth using.
- The same, on purposeThe Nintendo Switch 2 kept the interface of the first Switch. I think that was a good decision.
- Alerts that don't need an appEmergency alerts reach every phone in range with no app and no internet connection. What that suggests for the apps we build.
- Animation details in consumer appsWhy small animations and sensor-driven interactions matter in a consumer app, and the React Native tools I'd use for them.
2024
- A faster to-do list for ObsidianA small React Native app to check off Obsidian to-dos on the phone, and the iOS sandbox that got in the way.
- Before you rewrite itThe usual advice is to never rewrite from scratch. Sometimes a rewrite is the right call. The questions I ask before deciding.
- Atomic Design in React NativeFive levels for organizing an interface, from a button to a finished page, and how I apply them in a React Native project.
- Calm interfacesWeb accessibility guidelines written for autistic users carry over well to mobile apps, and they make apps easier for everyone.
- Take it slow, I'm in a hurrySoftware quality isn't a cost you pay on top of delivery. It's how you avoid doing the same work twice.
2023
- Architecture sized to the teamWhat I learned picking an architecture for a small mobile team, where the patterns have to fit the people who will maintain them.
- Requirements nobody meetsJob posts ask for far more than the job needs, and candidates stretch their résumés to match. Both sides lose.
- Run the code, not the answerChatGPT got a simple count wrong, then wrote a function that got it right. The lesson I took from it.