Where I became a design technologist — designing UI and shipping it as coded components.
UI-focused product designer on voting software.
Usability and user experience were poor across the product.
A high bar for UI quality inside a deeply technical domain, where the underlying subject matter left little room for approximation.
This was hands-on-code work more than anything else I have done. I followed a design process, but the majority of my hours went into building coded components in HTML, CSS, and JavaScript — learning directly from the engineers around me and pushing components up into a shared, coded style guide.
The loop was tight: design a component, build it, get it reviewed by engineering, land it in the style guide, and use it everywhere. Design and implementation were the same activity rather than two stages.
Treating the coded style guide as the source of truth. I built on the best stack available at the time — Bootstrap, JavaScript, and custom components — and made the coded guide the canonical reference, rather than a design file that would drift away from what shipped.
A more usable product, and a shared coded component library the team could build against. This is where my design-to-code practice started — the same instinct that sits behind how I use AI tooling now.
The origin of how I still work: design and code as one motion. It was all new to me at the time, and I am grateful I got to work closely with engineering and learn the fundamentals — Git, push, and the rest of it.
Cyber Threat Intelligence
Seven years designing a cyber threat-intelligence platform, embedded across engineering and leadership.
Read the case study →