I build production software that has to be right.
For nearly seven years I've built and owned production systems end to end. Right now that's Aligned Showings, the scheduling and messaging platform behind a US network of listing services, used by more than 150,000 agents.
My fix ships in React Native 0.87
Skip a dropped node in PropsAnimatedNode.updateView instead of crashing · I wrote it, Meta shipped it
An animation could crash the app on Android while a screen was closing. If you navigated away mid-animation, a node could get removed while an update for it was still running. On the next frame the code went looking for that node and threw. My fix checks first and skips the node if it's gone. The same method already did this when the view was missing, and iOS had handled it that way for years.
Also upstream, in react-native-app-auth: a broken iOS SSO login traced back to a JavaScript state: null arriving in Objective-C as NSNull, where it reads as truthy. PR #1125, open.
What I build now
A platform at real-estate scale
At BigBinary I work end to end on Aligned Showings, the scheduling and messaging platform MLS Aligned puts in front of its agents. Rails and React Native. The rules change constantly and the system still has to be right, so I spend as much time on the workflow as on the code.
- Used across a US network of listing services
- More than 150,000 real-estate agents
- A regulated workflow with real money behind it
Apps I take all the way out the door
Neeto is BigBinary's own set of SaaS products. I own React Native apps in it end to end, from the user feedback that starts a change to the build that lands on the App Store. I also help maintain the component libraries the rest of the suite is built on.
- Specs, code, debugging and code review
- App Store and Play Store releases
- neeto-ui-rn is the UI layer under six shipped iOS apps
How I work
Learn the business first
The code is rarely the hard part. The hard part is knowing what "correct" means in a workflow you didn't grow up in. So I go learn it, and then I write.
Keep the contracts honest
The backend and the app drift apart the second you stop watching them. I keep the contract between them explicit, so the system survives the next change.
Verify before it ships
I use AI tools every day, mostly to get through the boring parts faster. Nothing ships until I have reproduced and verified it.