Austin, Texas, United States
Current position:
Core maintainer for an internal UI library, Shared-UI. Shared-UI is a collection of portable UI components paired with the GraphQL queries to fetch their backing data. The schemas follow Server-Driven UI (SDUI) principles with shared types that are reused across schemas/experiences.
Responsibilities include:
Onboarding new teams to enable them to contribute new components (office hours, community meetings, 1-on-1 sessions, support chat)
Reviewing PRs as contributors learn the SDUI principles
Improving developer experience by developing docs, improving automated build systems (mainly through GH Actions), updating component and type generators, etc.
Previous position:
Core maintainer for an internal application framework, Bernie. Bernie is built on similar principles as Next.js, that gives client applications a set of opinionated, useful defaults, while remaining extensible to account for a variety of applications types.
Both Shared-UI and Bernie currently power applications that are:
internal and externally-facing,
low and high-traffic (dozens to millions) and
represent a wide range of use-cases (landing pages, internal tools, CMSs, Search/Shopping experiences, etc).
Related tech: Node.js, Express.js, hapi/Catalyst, GraphQL, Apollo, React, Typescript, Webpack
Austin, Texas
Front-end/Mid-tier Tech Lead for a project team tasked with highlighting/enabling open-source and inner-source projects created by any of Expedia Group properties, including Vrbo, Expedia.com, Hotels.com, Hotwire, and others.
As lead, was an individual contributor, but I also:
defined our apps' architectures
mentored junior devs
coordinated with external teams to manage dependencies
maintained our apps throughout their dev/test/build/deploy lifecycles
created Sprint Stories
Projects:
Inner-source scorecard: (internal application)
Led dev efforts on an app surfacing "inner-source readiness" insights for leadership to easily track their organization's/teams's progress towards following inner-source best practices. The app used Vrbo's Open-source Catalyst hapi.js framework, React, Apollo Server/Client and ExpediaGroup's Open-source "graphql-components" to expose an endpoint composed of multiple schemas and backing services. I developed and maintained 3 of these components and contributed to others. This app also used GitHub's GraphQL API, AWS Secrets Manager, Docker, Kubernetes w/Helm.
Open-source portal:
I developed ExpediaGroup's GitHub pages application, using Gatsby.js (including plugin and theme authoring), GraphQL for data fetching (GitHub, Medium APIs) and querying, React, and Emotion styled components.
Contribution-tracker: (internal application)
An application where employees can submit their GitHub username to help recognize employees contributing to Open-source.
I built this application using the Catalyst framework, React, Okta authentication, AWS Secrets Manager, "hapi-cron" for scheduling queries to GitHub APIs and storing results in Postgres (AWS Aurora)
2016 — 2019
Austin, Texas
Software Engineer - In my time at PayPal, I worked on two major applications and contributed to multiple npm modules powering the main account servicing experience for consumers.
The first was a Node.js (Express/Kraken) app, built with Backbone.js and Dust.js.
The second, more recent Node.js app is built as a universal JavaScript app utilizing TypeScript, RxJS, React, Redux and Ramda. I was one of two developers who started the app and established many of it's patterns. Today, there are six separate teams actively contributing, with periodic contributions from external teams.
The app also sits on a set of node modules we created and maintained, which house a majority of our business logic.
My responsibilities included:
contributing to sprint stories
maintaining/improving app architecture as it scales
mentoring junior developers
onboarding new contributors
acting as one of the main code reviewers
communicating/coordinating with external teams
operating as Scrum Master for my team
Notable projects:
Led a team to create an app-level platform for instantly linking and confirming bank accounts through multiple 3rd party aggregators in multiple countries.
Developed a routing utility for declaratively managing dynamic, runtime-determined, multi-stepped flows.
Designed and implemented a configuration-based strategy to generate forms with server and client validation that is customizable on a per-country/region/user-type basis.
Utilized LESS generators to create both inline-block and display-table based grid systems used in production.
Heavily contributed to the Right-to-left (RTL)/Bi-directional (BiDi) effort for Hebrew and Arabic, including helping incorporate CSSJanus and custom html/css overrides to match RTL design patterns.
Helped ramp 2 applications (1 from beta phase and 1 greenfield) to 200+ countries/230M+ users.
2014 — 2016
Austin, Texas
2014 — 2014
Austin, Texas
Education
2009 — 2012
The University of Texas at Austin
Bachelor of Arts (B.A.)
2009 — 2012