Q. 01
When laying the foundation for something new, what principles do you refuse to compromise on?
A. The thing the user sees first has to feel honest. If a list says it has new items, there should actually be new items. If a button says 'Save', it has to save before the screen does anything else. The state on the screen and the state in the database are the same thing — that's the bar.
Q. 02
How do you ensure an app still feels rock-solid even when conditions aren't perfect?
A. I assume the network will fail and someone will lose signal mid-action. Optimistic updates, idempotent writes, and a retry that's quiet enough that the user never has to think about it. Most of the work is invisible — it's the difference between an app that feels fragile and one that doesn't.
Q. 03
What details do you think make the biggest difference between a good interface and a great one?
A. How fast it gets out of the user's way. The right defaults so they don't have to choose, the right empty states so they don't have to guess, and the right loading state so the wait doesn't feel like a wait. Most of it is taking things out, not adding them.
Q. 04
How do you leave a codebase in a better place for the next person who has to read it?
A. I write the code I would have wanted to inherit on day one. Names that say what something is, files that live where you'd expect, and the bit of documentation that answers the question someone will actually have. If I touch a function I didn't write, I leave it slightly tidier than I found it.
Q. 05
How do you bridge the gap between getting a broad feature request and actually executing it?
A. I write down what the feature is supposed to do in one sentence, then the three things that have to be true for it to ship. Most of the back-and-forth happens before I open the editor — that's when scope is cheapest to change.
Q. 06
Claude vs ChatGPT?
A. Claude. It pushes back when something is off instead of cheerfully producing it, and it writes Dart that compiles the first time more often than not. The difference shows up most on the bigger refactors — Claude will tell me the plan is wrong before I waste an afternoon on it.