J.P. Morgan — 2026

For the past few months I’ve been quietly designing the tools J.P. Morgan's M&A teams use to evaluate companies, structure transactions, and run live deals.

Much of the work is making financial models easier to explore, so teams can see how a change in assumptions plays out across the valuation and structure of a deal.

An illustrative sample shows how cluster analysis can support screening a universe of 200,000 companies against a sponsor’s investment thesis. Views show a company scatterplot, binned density, three peer groups, a linear regression and approximate 95% mean-response confidence band within each peer group, model residuals, and companies meeting example thesis criteria. These are synthetic features, not client data or actual screening results. Click or press Enter to advance. The sequence pauses while focused and respects reduced motion.
Current view: Peer clusters.
J.P. Morgan mark

McKinsey & Company — 2022–2024

Prior, as a principal designer at McKinsey, I led the redesign of the core tools for our pricing and financial models, working across the firm to create a modern, unified design language that placed emphasis on forecasting and reporting scenarios.

This work touched every aspect of our practice’s engagements, from basic inputs and guardrails to playbooks, dashboards, and workflow logic.

Blue bubbles of different sizes illustrate pricing scenarios across a chart.

Google Finance — 2018–2021

At Google, I joined the finance team as its founding design engineer and built a suite of innovative solutions to Alphabet's complex problems in forecasting, accounting, procurement, and compliance.

I extended a common design language across these new products, and stitched them into an end-to-end workflow whose whole trail is auditable.

Google Finance legal entity dashboard
Google Finance purchase request and approval interface
Google Finance payslips UI

Meta Developers’ App Dashboard — 2017

One of my more interesting projects was redesigning our developer community's experience with Meta's SDKs for iOS, Android, and Unity, turning data points and signals around app events like "add to cart," "purchase," or "level achieved," into views they could use to understand their users’ behavior.

I baked a lot of details into the core system design to make configuration simple and created clear navigation, consistent status models, and errors that explain themselves across dashboards and configuration surfaces.

Meta app dashboard showing app-event analytics
Meta Analytics dashboard showing audience and engagement metrics

Speech Recognition and Synthesis API — 2017

At Google, I often built demos to explore small features or ideas I'm excited about, using them as a way to spark curiosity and to get my colleagues excited about new possibilities.

One example was a small concept for speech recognition and synthesis, where I explored how designers might better prototype various voice states. It covers the full loop from device permissions for listening to live transcription and spoken output, and has timeouts, retries, and support for multiple languages.

Nest × Yale Lock — 2016–2017

Over the years at Nest, I focused on the harmony between hardware, software, and the physical space of a home.

As a designer, I embedded with our data team for home automation partnerships like the Nest × Yale Lock, integrating it with the Nest ecosystem, and building features like unique passcodes for guests, tamper alerts, and compatibility with devices.

Google Assistant Actions on Nest — 2016–2017

With our data team, I used connectivity protocols and predictive patterns to suggest 'Routines', and added mesh networking visuals to show why a certain device wasn't connecting.

I later moved beyond screens and used speech, where I wrote the scripts and logic for critical moments in our status model that connected to Assistant's schema.

PhotoKit prototypes — 2016

Even before joining Google, I was fascinated with prototyping in Xcode. At one point, I built a PhotoKit iOS app to learn non-destructive photo editing.

This included the core adjustment loop: crop, rotation, tone, and color. Later, I used Codex to rebuild it in SwiftUI for iOS 26.

Contact

Since you've made it this far, I'd love to hear from you.