Work.
Essays, case studies, and notes across design, data, and experimentation.
On The Silent Truncator: Debugging LinkedIn's UGC API
Discovering how text formatting and LinkedIn's ASCII parser can trigger silent rendering failures on the UI with limited to no descriptive error messages.
On Using Interactive Design to Explain Semantic Isolation
How do you make a philosophical concept land in under ten seconds? This note traces the design of an interactive feature that visualises semantic isolation - the erasion of the father from the language of family - using a single button, relatable emojis, and an unlikely teacher: the chicken-and-egg dilemma.
On Designing Around a Hard Resource Limit
Three hard limits, memory, time, and write quota, and one pattern they all share: constraints are design input, not obstacles. How treating each ceiling as a forcing function produced cleaner architecture than the unconstrained version would have.
On State as a Promise
A three-part session recovery architecture: Cloudflare D1 persistence, an email-cron-worker, and sequenced React hydration, built on the insight that a promise to the user is a contract.