Biography

Senior front-end engineer specializing in design systems, UI architecture, and developer tooling. I build accessible React/TypeScript foundations, documentation, and standards that help product teams ship consistent, maintainable interfaces. I bring a design-informed engineering background, strong cross-functional judgment, and hands-on experience using AI-assisted workflows to accelerate code exploration, debugging, and delivery.

resume

GoodRx

Senior Software Engineer - Design Systems
Oct 2021 - CURRENT | Santa Monica, California (Remote)
  • Built and maintained foundational UI systems, front-end utilities, documentation, and implementation standards used by application teams across GoodRx.
  • Own and evolve a multi-theme design system built with React, TypeScript, Tailwind, and Storybook, delivering accessible, reusable components and documentation used across product teams.
  • Modernized legacy design-system components toward a compositional React architecture inspired by shadcn/Radix patterns, improving flexibility, accessibility, and developer experience.
  • Led a large-scale Tailwind v4 migration strategy across applications and Storybook, balancing backwards compatibility, token alignment, documentation, and adoption guidance to reduce migration risk.
  • Built internal front-end tooling, including a Tailwind configuration viewer and component sandbox/playground, to speed prototyping, QA, and correct component adoption.
  • Designed scalable UI architecture patterns for tenant/state-aware partner experiences, including override strategies, application-state boundaries, and grey-label implementation models.
  • Implemented GraphQL/Apollo integrations for customer/profile and checkout workflows, including form state, mutation handling, response flows, and production error handling.
  • Contributed to an internal AI-assisted developer agent that automates codebase setup, supports code exploration/debugging, and accelerates implementation workflows while preserving engineer review and ownership.
  • Use AI coding tools for implementation scaffolding, debugging, documentation, and unfamiliar-codebase exploration, with careful review, testing, and ownership of final production code.
  • Act as a design system SME across the org, running daily office hours, reviewing implementation approaches, and unblocking teams on component usage, theming, accessibility, and integration issues.
  • Bridge design and engineering through strong product/design intuition, translating UX intent into accessible, scalable component APIs and implementation patterns.
  • Partner closely with Design, Product, Platform, and partner teams to align feasibility, accessibility, system constraints, and business goals before implementation.
  • Support operational excellence through CI/CD troubleshooting, PagerDuty/on-call participation, and Datadog-based triage during incidents and support huddles.
  • Mentor contractors and engineers through onboarding, pairing, code review, and technical guidance.

Paylocity

Software Engineer
2020 - Oct 2021 | CHICAGO, IL

At Paylocity, I helped build and maintain the company’s component library and design system, focusing on reusable UI patterns that made teams faster and products more consistent. I partnered closely with designers and engineers to translate design intent into production-ready components, improve accessibility and usability, and smooth out adoption across multiple applications. Beyond shipping code, I spent a lot of time enabling other teams: answering implementation questions, troubleshooting integration issues, and documenting best practices so people could build confidently and avoid reinventing the wheel. The result was a stronger front-end foundation that reduced rework, raised quality, and helped teams deliver features with more predictability.

Uptake Technologies

Software Engineer
2016 - 2020 | CHICAGO, IL

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

Front End Developer / UX
2015 - 2016 | CHICAGO, IL

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

Front End Dev / UX
2013 - 2015 | CHICAGO, IL

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

Front End Dev / UX
2012 - 2013 | CHICAGO, IL

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

Front End Dev / Sr. Interactive Art Director
2011 - 2012 | CHICAGO, IL

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

Interactive Art Director
2007 - 2011 | CHICAGO, IL

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.