Matthew Voshell

Ethnographic product designer

Large language models have reduced the effort needed to build software from months to hours. The hard part now is knowing which problem is actually worth solving, and why.

For 12+ years I have helped Fortune 500 companies and startups find that answer and align around it. I start by learning alongside the people a product is for. Then I carry what we learn through story mapping and design to shipped code.

My tools follow the work. I run interviews and synthesize them in NotebookLM, then map stories in Notion. I build design systems and tokens in Figma. I ship in SwiftUI, Supabase and Framer, with Claude Code beside me.

Matthew Voshell standing on a cobblestone city street
Matthew Voshell standing on a cobblestone city street

Selected work

Four projects: a product I co-founded and built, research that changed what a bank shipped, and two tools I built for working with AI.

MatchRox on rows of iPhones showing its partner, race and planning screens

MatchRox

Fitness

The operating system for HYROX doubles teams

HYROX doubles racers were finding partners and planning races in Facebook groups and WhatsApp threads. I co-founded MatchRox and designed and built most of the iPhone app: match on run pace, station strengths and racing style, plan all eight runs and stations together, then run race week from shared checklists. It is in public beta.

MatchRox on rows of iPhones showing its partner, race and planning screens

MatchRox

Fitness

The operating system for HYROX doubles teams

HYROX doubles racers were finding partners and planning races in Facebook groups and WhatsApp threads. I co-founded MatchRox and designed and built most of the iPhone app: match on run pace, station strengths and racing style, plan all eight runs and stations together, then run race week from shared checklists. It is in public beta.

Total Conduct on a monitor: a case view listing a trader's flagged messages beside their profile

Total Conduct

Finance

The compliance platform that saved $2bil

Citibank wanted compliance analysts to clear alerts faster. I started with interviews and a wall of whiteboard notes, and speed was not on their list of needs. So I made the product person-centric: built around how an analyst works a case, not how alerts fire. It shipped to compliance teams in 82 countries and 42 languages.

Total Conduct on a monitor: a case view listing a trader's flagged messages beside their profile

Total Conduct

Finance

The compliance platform that saved $2bil

Citibank wanted compliance analysts to clear alerts faster. I started with interviews and a wall of whiteboard notes, and speed was not on their list of needs. So I made the product person-centric: built around how an analyst works a case, not how alerts fire. It shipped to compliance teams in 82 countries and 42 languages.

Total Conduct on a monitor: a case view listing a trader's flagged messages beside their profile

Total Conduct

Finance

The compliance platform that saved $2bil

Citibank wanted compliance analysts to clear alerts faster. I started with interviews and a wall of whiteboard notes, and speed was not on their list of needs. So I made the product person-centric: built around how an analyst works a case, not how alerts fire. It shipped to compliance teams in 82 countries and 42 languages.

Playlist on three MacBooks: Claude Code's slash menu listing skill playlists and the skills inside one

Playlist

Future of work

One name for a set of skills

I kept calling the same handful of Claude Code skills together. In my own history, 69 of 352 skill turns used two or more. Claude had no way to load a ready-made set. I designed Playlist inside the slash menu Claude users already know. Then I built and shipped it as an open-source plugin, from first commit to release in one afternoon.

Playlist on three MacBooks: Claude Code's slash menu listing skill playlists and the skills inside one

Playlist

Future of work

One name for a set of skills

I kept calling the same handful of Claude Code skills together. In my own history, 69 of 352 skill turns used two or more. Claude had no way to load a ready-made set. I designed Playlist inside the slash menu Claude users already know. Then I built and shipped it as an open-source plugin, from first commit to release in one afternoon.

Skill Health on a MacBook: its settings window and the menu bar menu listing skills that need fixing

Skill Health

Future of work

Updated skills, outdated instructions

A skill that matches its repository should be current. I checked 12 that matched byte for byte, and 10 still had an instruction that failed or was deprecated. So I designed and built Skill Health, a Claude Code plugin that checks each instruction against current docs and hands Claude the fixes. An optional menu bar app flags what needs a fix.

Skill Health on a MacBook: its settings window and the menu bar menu listing skills that need fixing

Skill Health

Future of work

Updated skills, outdated instructions

A skill that matches its repository should be current. I checked 12 that matched byte for byte, and 10 still had an instruction that failed or was deprecated. So I designed and built Skill Health, a Claude Code plugin that checks each instruction against current docs and hands Claude the fixes. An optional menu bar app flags what needs a fix.

How I approach ambiguity

When nobody can say what the problem is, I start with the people who have it. This is the process I follow: about five interviews per persona, synthesized into personas, user journeys and a story map before design begins.

My process as a decision flow of five questions. Is the team clear and aligned on the problem? If not, kick off with stakeholders. Have we identified who is affected? If not, sync with sales and support, vet the knowledge base and run initial user interviews. Is the team aligned on the target personas? If not, run initial user interviews. Both paths lead to synthesized personas. Have all processes been identified and synthesized? If not, analyze transcripts, create user journeys and validate them with users. Both paths lead to user journeys. Are business and user goals defined? If not, present artifacts to the team to build empathy, workshop and define epics with the team, and define acceptance criteria. It ends in a user story map.

How I lead

Six principles I lead by. They are how I set a team up to do its best work, and how I keep raising the bar once it does.

One team

The best ideas win, and failure is a normal part of the process.

If they fail, I failed them

It is my responsibility to put people in a position to be successful.

Protect but push

Empower, and step in only when necessary.

No one left out

It isn’t done until it’s easy for novices, fast for experts and accessible to everyone.

Never ask for what I won’t do myself

Whatever I ask of the team, I am willing to do alongside them.

No band-aids

Identify the root problem, act, then hold a post-mortem so it does not recur.

Beyond the work

What I make when I am not designing: photographs, the Discovering Design podcast and music demos. Plus a live look at Seattle, where I am based.

Photography

I discovered creativity through a Nikon D600 with a 35mm f/1.4 lens.

Discovering Design

Conversations with designers about the careers they left and how they found their way into design.

Music

Demos I post in my free time.

Based in

Seattle, WA

2021 - Present

Based in

Seattle, WA

2021 - Present

Local time

Local time

Weather

Weather

Mount Rainier

Mount Rainier

Common questions

Do you still build?

Why are most case studies private?

How do you work with teams?

Let’s talk

I’m looking for contract work. Have a product to figure out, or want to read a private case study? Send a message, or book a call.

Asking for a case study? Say which one. I usually reply within 1 to 2 days.