01
Step 1
Interfaces, icons, characters, logos. The smallest pieces of the work.
02
Step 2
Every popup on the platform was built ad-hoc. Different layouts per layer. Inconsistent data hierarchies. No shared components. Users screenshot these popups for their reports.
I identified common elements across fifty types, built a coherent system across nine data layers, and established patterns that made every new data source faster to ship.
Compare
50+ popup types · 9 data layers · One system.
I sketch to think, play football to not think, and measure coffee extraction like it's a design variable.
03
Step 3
Two tools. No connection between them.
Two tools for 2,340 cameras. Neither saved your layout. I watched operators work, then designed the wall they could build, name, and keep.
Build a wall. Name it. Come back to it tomorrow.
Same wall, different density. Six cameras or sixty.
List. Search. Map. Find any camera three ways.
04
Step 4
Vessel data existed but no one could see the full picture. Port authorities needed real-time movement patterns, dwell times, and throughput in a single view.
I designed the analytics dashboard they use today. Live in production. Presented at TRB 2025.
Analytics for vessel movement: where ships go, where they wait, and what they pay to avoid a queue.
Maritime Trip Analytics, 2024
01
Roads give traffic a fixed width; ships follow currents and common paths. I pushed for hex bins over route lines, and the team adopted them. They hold up from a single port to the whole globe.
02
Our tools clustered by zoom: zoom out for the big picture, zoom in for detail. I made bin size its own control, so at the same zoom analysts see both the overall routes and the detail inside them.
03
Our tools had you describe a query, then run it. Adding one day meant starting over. I pushed the PM and stakeholders for live filtering, which maritime needs and other datasets can use too.
04
The job is finding the best route, and chokepoints decide it. If the Panama queue runs 5 to 10 days, a ship might arrive sooner another way. "Through" finds every vessel that passed a region, so analysts can spot delays and compare alternatives.
Tradeoff
Live filtering meant more work for engineering. I kept a version without it ready in case stakeholders said no.
Outcome
Trips used to answer a query with a page of charts. The dashboard I designed, live filtering included, now serves every tool in the suite, from vehicle data to truck parking.
Four design decisions behind a maritime analytics tool
Browser-based ordering that removes the queue and adds a weekly game. No download. 84% of testers preferred it.
HoloLens meditation for ChristianaCare caregivers, designed for the way out as much as the way in. Stress measured through biosignals, not surveys.
Maritime · Historic analysis for vessel data
Problem. Trips, the lab's historic-analysis suite, answered a query with a page of charts. There was no dashboard and no shared structure, and the suite looked nothing like the rest of the lab's products.
Decisions.Tradeoff. Engineers working on their own meant some things shipped that design never reviewed, and color was never defined as a system. The suite color palette is my current ticket.
Outcome. Hex bins spread to truck parking, where the problem was hiding exact vehicle positions. Maritime had already built and tested them, so they were an easy sell. Next: a view to compare time periods with identical settings, without rebuilding the analysis.
Web application · 3 to 4 months · Designed end to end
Ssongs · Ordering for a Korean hotdog shop
Problem. At a food court you queue to order, struggle to find a seat, and have nothing to do while you wait. Tablets at the counter don't fix that.
Decisions.Tradeoff. A game that holds your attention can make you miss your order. So the live order timer and a ready notification stay on top of the game.
Outcome. 84% of 19 test participants preferred it over the existing process. 31 heuristic issues found across 5 sprints in 7 months. Delivered with a style guide and component library.
Browser-based · 7 months, 5 sprints · Usability tested with 19 participants
Away-sis · HoloLens meditation for ChristianaCare
Problem. Guided meditations open with a relaxing voice or sound that fades away, then end with an abrupt voice announcing it's over.
Decisions.Tradeoff. It was a short project: a home space and one meditation space. We modelled everything in the meditation space and some of the home space, and took the rest from online libraries, so the two share a theme but not an identical style. I modelled a panda spirit animal in Blender, but its interaction didn't make it in.
Outcome. Tested with 40 caregivers, including doctors and nurses. Most liked it, but not everyone was ready to adopt it straight away; gradual exposure would have helped. Over 20 days of our own recordings, cognitive load dropped gradually.
Unity + HoloLens · Built for ChristianaCare, one of the largest health systems in the US
05
Step 5
The previous four steps showed work you can see. This is the work you'd miss. The thinking behind shipped products, the case made for new ones, the systems that let other people build.
define
4 layers
made the work estimable
shape
4 layers
gave the product a face
pitch
2 layers
turned a prototype into a funded project
ship
3 layers
engineers shipped without me in the room