Biography
Senior front-end engineer on GoodRx's Developer Experience team, building and running the design system since 2021: tokens and theming, component APIs, docs and playgrounds, Figma-to-code, and the lint rules and agent context that keep teams on the system. I've made the system's core technical calls, run its largest cross-team migrations without breaking other teams, and measured adoption up to the C-level. Design-trained (BFA, University of Illinois), I work between designers and engineers.
Experience
GoodRx
Oct 2021 - Present, Santa Monica, California (Remote)
Senior Software Engineer, Developer Experience
- On the Developer Experience team, I help run the design system and maintain the front-end utilities, docs, and implementation standards that application teams use across GoodRx. Alongside tokens, theming, and component APIs, my work includes a live-compiling docs playground, a Tailwind config viewer, and visual-regression pages that made test runs much faster.
- After a proof of concept, I made the call to move the component library to Tailwind and wrote the design system's guiding direction and development lifecycle. I then led the move to Tailwind, CVA, and Radix patterns, making core components easier to compose and use accessibly.
- I moved every app and Storybook to Tailwind v4, rebuilding the codemod and shipping small, reviewable changes with a rollback plan and no visual changes. The main web app upgrade kept feature work moving throughout, and local builds went from 5 minutes to 1.2.
- To help generated code use the system, I rolled out Figma Code Connect for web and presented it to the engineering guild; an A/B test showed far fewer hard-coded colors. For AI coding agents, I added a component lookup doc, a small eval to measure its effectiveness, and a lint rule that flags raw buttons and inputs to keep new code on the system.
- I built a tool to measure design system adoption and shared the results up to the C-level, establishing a baseline for later migrations. For the company rebrand, I worked through the system's theme layer and coordinated code-owner sign-off to ship it in a single release.
- I'm the go-to person for component usage, theming, and accessibility, helping contractors and engineers get started through pairing and code review. Working with Design, Product, Platform, and partner teams, I turn UX intent into accessible component APIs and patterns that scale, working out what's feasible within system constraints and business goals before implementation.
- I contribute to an internal AI developer agent that automates codebase setup and helps engineers explore, debug, and implement changes while keeping review and ownership with them. AI coding agents also handle much of my own implementation work, with the framing, review, and verification still mine.
- For partner experiences, I designed reusable UI architecture that accounts for the tenant and application state, with clear state boundaries, ways to override shared behavior, and grey-label implementation patterns.
- I also built GraphQL/Apollo integrations for customer profiles and checkout, covering form state, mutations, response flows, and error handling in production.
Paylocity
2020 - Oct 2021, Schaumburg, IL (Remote)
Software Engineer
At Paylocity, I helped build and maintain the company's component library and design system, creating reusable UI patterns that improved consistency and developer velocity. I partnered with designers and engineers to translate design intent into accessible, production-ready components, supported adoption across applications, and documented best practices to reduce rework and help teams ship with more confidence.
Uptake Technologies
2016 - 2020, CHICAGO, IL
Software Engineer
At Uptake Technologies, I worked on a team building a reusable component development kit that powered multiple applications across the company. I focused on writing configurable, maintainable front-end code (Vue, React/Redux, modern ES6 patterns, and SASS/SCSS) that teams could adopt without friction and extend without fear. I leaned hard into quality and reliability, building comprehensive unit test coverage (Enzyme, Mocha, Sinon) and helping strengthen the build and automation pipeline with tools like Jenkins, Webpack, and Gulp. I also became a steady voice for practical, company-wide standards, bridging design and engineering with pixel-accurate implementations while keeping performance and maintainability in view. The outcome was a stronger shared UI foundation that reduced duplication, improved consistency, and helped teams ship with more confidence.
Walgreens Corporate
2015 - 2016, CHICAGO, IL
Front End Developer / UX
At Walgreens Corporate, I worked at the intersection of front-end development and UX, helping build and maintain Beauty.com, Drugstore.com, and key areas of Walgreens.com. I focused on translating UX and visual design into clean, reliable implementations, keeping the experience consistent while supporting ongoing updates and improvements. I also partnered closely with an overseas development team, aligning on standards, reviewing work for quality, and smoothing communication so features landed correctly and on time. The result was a steadier delivery cadence and a more polished, dependable web experience across multiple high-visibility properties.
United Airlines
2013 - 2015, CHICAGO, IL
Front End Developer / UX
At United Airlines, I worked as a front-end developer with a UX mindset across multiple touchpoints of the United brand, including United.com, in-airport kiosks, and the Android mobile app. I helped translate design into consistent, production-ready UI while adapting patterns to very different environments, from web to kiosk to mobile. I also led development of United’s online style guide, creating a shared set of UI standards and components that improved consistency, reduced rework, and helped teams move faster with a common visual and interaction language.
Sears Interactive
2012 - 2013, CHICAGO, IL
Front End Developer / UX
At Sears Interactive, I worked as a front-end developer with a UX focus on mygofer.com, collaborating with both local and international teams to keep a high-traffic e-commerce experience moving forward. I owned the design and implementation of key shopping interactions like “Quick View” and “Quick Purchase” directly on the search page, helping customers move from browsing to buying with less friction. I also built e-commerce emails and landing pages that supported campaigns and conversions, balancing speed of delivery with clean, maintainable front-end work and a consistent user experience.
Two/Ten Agency
2011 - 2012, CHICAGO, IL
Front End Developer / Sr. Interactive Art Director
At Two/Ten Agency, I wore both hats: senior interactive art director and hands-on front-end developer. I designed mobile app experiences for brands like Hillshire Farm, Ballpark, and Jimmy Dean, then took ideas all the way to production by building responsive websites, mobile sites, and campaign microsites for clients including Diamond Brand, PetSmart, State Fair, and more. Working agency-side meant moving fast without losing the details, translating brand goals into clean visual systems, solid UX, and reliable front-end implementations that could ship on tight timelines.
Launch Creative Marketing
2007 - 2011, CHICAGO, IL
Interactive Art Director
At Launch Creative Marketing, I led interactive creative work end-to-end, designing and producing multi-channel campaigns for clients like ESPN, Sara Lee, Paper Mate, Quaker, and OfficeMax. I built cohesive campaign systems across websites, email, and banner ads, making sure the creative held together whether it was a landing page, an inbox moment, or an ad unit. I also created 3D standees and in-store displays, then extended those assets into motion when a campaign needed video or animation. Alongside digital work, I produced commercials and sales videos, translating brand stories into polished content that was consistent, on-message, and ready for the real world.
Skills
Design systems
- Design Systems
- Design Tokens
- Theming
- Accessibility
- Storybook
- Chromatic
- Figma Code Connect
- Documentation
Front end
- React
- TypeScript
- JavaScript
- Next.js
- HTML
- CSS/SCSS
- Tailwind CSS
- CVA
- Radix UI
- shadcn/ui
- GraphQL/Apollo
Tooling & DX
- Codemods
- Custom ESLint Rules
- Jest
- React Testing Library
- pnpm/Turborepo Monorepos
- GitHub Actions
- CI/CD
- Node.js
- Docker
- Datadog
- Package Publishing
AI-assisted engineering
- Claude Code
- Codex
- Cursor
- AI Agents
- Agent Evals
- MCP Integrations
Interests
- Web Development
- Game engines
- Game development
- Game Design
- Interesting Tech
- Well thought out movie credits
- Lounge music
- Language Learning
- Anime