Prototyping (with AI)
Why some interactions cannot stay in Figma
Figma explains structure, but it struggles with behavior. I prototype on device to understand pacing,
resistance, timing, and to save engineering time. For the things you only feel when the app
compiled.
Continue reading
Product thinking
Naming shapes the product
The language we use in meetings shapes what we build. Call it a "list," and you get a list. Call it
"collaboration," and you might build a system.
Continue reading
Native Design
Complexity hides in simple tools
I built a stopwatch to understand the constraints of time. It forced trade-offs on precision, trust,
and platform limits that most apps ignore.
Continue reading
Native Design
When intuition fails against data
I pushed back on forking repositories on GitHub Mobile. I thought it was too complex. Users proved me
wrong, and
that
changed how I evaluate feature requests.
Continue reading
Native Design
Systems for long-term focus
Notifications are usually noise. We designed a system that reduces that noise without breaking trust.
Most of the work was in the edge cases.
Continue reading
Product Strategy
The "Wunderlist Upgrade": Designing a sunset
Shutting down a beloved product for millions of users is mostly a trust problem. The goal wasn't just
simple migration into the new app, it was making sure people felt their data and history were
treated with respect.
Continue reading
Native Design
Translating complex workflows to mobile
Code review is heavy work. I worked with engineering to break it into smaller, mobile-first steps
without losing the context that makes reviews safe.
Continue reading