Experience
2022 — 2025
Acted as tech lead for the localization of our React-based, user-facing application using Smartling.
Created REST APIs to securely manage personal information using NestJS, PostgreSQL, and Node.
Implemented the scripting and the templates for automated mass emails to users using Node, SendGrid, Terraform, MongoDB, and GCS.
Developed and maintained user-facing applications responsible for managing user benefits, financial information, investments, and more using React, TypeScript, Vite, and Jest.
Worked with product leaders to devise and track KPIs with Rudderstack and Datadog. Created dashboards to monitor the state of applications, measure the success of development efforts, and facilitate user tests.
Wrote and maintained extensive documentation in Notion and videos with Loom to ensure a thorough understanding of and future maintainability of the codebases contributed to.
Conducted over 40 technical interviews for engineering candidates and trained other engineers to perform them.
Worked with the Algolia external search engine to maintain a marketplace storefront within the member portal.
San Francisco, CA
Tech led a team of six engineers to develop and release Terminus, an open-source CLI for power users to consume Pantheon services via scripts using PHP, Bash, Symfony Console, PHPUnit, Behat, and a REST API.
Developed and launched Autopilot, a service which runs automated site updates with visual regression tests to ensure automated updates to users' sites will not cause issues. My part mostly involved creating its React/GraphQL-based JavaScript interface but I also wrote some microservices to make snapshots using AWS Lambda, Serverless, PHPUnit, and PHP.
Developed a new dashboard using JavaScript, Node, React, Jest, and GraphQL.
Developed a design system for the new dashboard using JavaScript, Node, React, Jest, and Storybook.
Developed and maintained an aging comprehensive user dashboard using JavaScript, Node, Backbone, CoffeeScript, Jade/Pug, Redux, and a REST API.
Maintained a GraphQL mock server and its data for use by the team for development of the dashboard.
Worked directly with end users to diagnose and resolve CLI issues and managed pull requests from the public.
Wrote onboarding documentation and step-by-step technical guides for other engineers on the team in Confluence.
Planned, prepared materials for, and conducted technical interviews with prospective teammates and those in related roles.
Trained and mentored interns and junior engineers coming onto the team.
2011 — 2015
Oakland, CA
Designed and implemented a system for managing events, staff, trainees, performance reports, certifications, and internal functionality used by two California social work organizations using PHP, CakePHP, and SQL.
Created a system which allows the client to set up their own meme generators and, optionally, to harvest the data of those using it using Python, Django, and SQL.
Updated and implemented new features for the medical records tracking software used by a charity clinic in San Francisco SOMA using Python, Django, and SQL.
Added a searchable, location-based voter guide to TheBallot.org, a voter information guide using Ruby, Rails, and SQL. The guide permitted users to research, opine on, and share ballots on social media.
Wrote a library of command-line scripts to manage and update WordPress installations and their plugins as well as ETL scripts to port data between Joomla, Drupal, AMP, and WordPress using Bash, PHP, and SQL.
Added features to and fixed bugs in Revent, a days-of-action event planner developed for and used by the AFL-CIO using Ruby, Rails, and SQL.
Created and maintained WordPress themes and plugins using PHP.
Maintained an aging in-house CMS written for PHP 4.x and updated it to operate using PHP 5.3.
Worked directly with users to diagnose and fix issues.
Was responsible for all aspects of creating and maintaining Debian- and Ubuntu-based Apache HTTP servers for our users running both on VPS and our own servers located at a data center.
2010 — 2010
Created and compared system snapshots to determine differences in system settings to be used for the development of the SDK.
Wrote scripts to aid in the detection of telltale differences between snapshots using Lua.
Reproduced bugs to verify client reports.
Created illustrated client documentation.
Education
2009 — 2012
San Francisco State University
Computer Science
2009 — 2012