Synopsis
I am a full-stack software engineer working with the web platform for almost two decades, specializing in frontend/
I value quick feedback and testing, and prefer development cycles informed by iterative/
I've integrated AI into my daily development and specification processes, and am equally comfortable driving architectural decisions, working cross-functionally to determine requirements, and shipping and maintaining production code.
Skills
-
Software development
- Very experienced with the full JavaScript/
TypeScript stack: back-end and "serverless" (Node.js, Express, hapi, AWS Lambda), client-side (Svelte, React, Redux, React Query, Next.js, Gatsby, Astro) - Comfortable in a variety of other back-end stacks: Ruby (Rails), Elixir (Phoenix), Python (Django)
- Experienced architecting software systems; designing and using GraphQL (Apollo) and RESTful APIs; and building schemas for both relational/
SQL databases (PostgreSQL, MySQL, SQLite) and NoSQL/ document databases (AWS DynamoDB, Redis, MongoDB) - Experienced with test-driven development at unit/
component/ integration levels (Cypress, Playwright, Vitest, React Testing Library, Jest, Jasmine, Capybara, RSpec, ExUnit, node:test) - Comfortable with Docker/
container-based architectures (microservices, monoliths/ monorepos, etc); CI/CD pipelines (GitHub Actions, CircleCI, Travis); cloud hosting (AWS ECS, Google Cloud); opinionated on developer experience (Vite, Webpack, Babel, ESLint; typechecking; design system/ component library) - Experienced integrating and using observability, monitoring, error-tracking, session analytics, incident management, and on-call rotation tools (DataDog, BugSnag, Sentry, New Relic, LogRocket, PagerDuty)
- Adept at shell scripting (Bash, ZSH, POSIX environment on MacOS/
Linux)
- Very experienced with the full JavaScript/
-
Web platform
- Proficient in HTML5 (Canvas, SVG, storage, CSS3, etc); JavaScript (Web Components, Web Sockets, Web Workers, etc); CSS (media queries, animations, custom properties/
variables, Sass/ SCSS, Tailwind, etc) - Experienced optimizing client-side performance (Core Web Vitals, Lighthouse) and building scalable architectures (Cloudflare, Fastly, CDNs)
- Customer-centric focus on responsive design, user experience, and accessibility; compatibility across browsers, devices, and screen sizes; resource efficiency; and code standards
- Proficient in HTML5 (Canvas, SVG, storage, CSS3, etc); JavaScript (Web Components, Web Sockets, Web Workers, etc); CSS (media queries, animations, custom properties/
-
Project management
- Experienced leading a team of engineers to build a fully-tested bespoke web application UX (from specs through launch and ongoing support), integrating with existing systems and processes, and achieving a seamless user transition to the new system
- Comfortable drafting specifications and collaborating with UX designers and product stakeholders to explore customer requirements
- Proud to have successfully established a durable cadence of maintenance and dependency updates to counter the pernicious effects of "feature-and-firefighting" development
Experience
-
Staff Software Engineer (Jan–October 2025)
@ Planted Solar (solar energy & construction)
- Collaborated on custom web-based GIS software incorporating DEM file data with visualizing/
modifying 2D and 3D geospatial models at scale (Node.js, TypeScript, Python, PostgreSQL, MapBox, React, React Query, Svelte). - Created the company's first integration test suite of critical site-planning software and configured to run on existing continuous-integration system (Cypress, CircleCI).
- Refactored database schema to address years-old tech debt affecting Python and Node.js back-ends.
- Conducted technical interviews of job applicants.
- Collaborated on custom web-based GIS software incorporating DEM file data with visualizing/
-
Staff Software Engineer, Sports Architecture team (2022–2024)
@ Warner Brothers Discovery (media & sports)
Software architecture and specification of a distributed event-driven software stack, comprising several independent systems communicating via events/
messages, powering a variety of internal tools as well as public-facing apps and websites. - Led technical decisions and design, and authored architectural documentation capturing tradeoffs around integration with third-party SaaS platform (ADRs, UML, sequence diagrams).
- Collaborated on planning and coding a greenfield event-driven rebuild of an existing service (TypeScript, Apache Kafka, AWS DynamoDB).
- Only engineer who experienced the full arc of an eight-year rebuild, from declaring tech-bankruptcy on Bleacher Report's entire tech stack through rebuilding all features and decommissioning the old stack.
-
Lead Front-End Engineer (2015–2022)
Senior Front-End Engineer (2014–2015)
Front-End Engineer (2013–2014)@ WarnerMedia / Bleacher Report (media & sports)
Agile-influenced planning, specification, team-leading, code development, and testing of a high-traffic customer-facing site (250M+ MAU, 1B+ pageviews/
month) and supporting content/ admin tools in a continuous-integration/ deployment environment (JavaScript, Elixir, Ruby on Rails). - Tech Lead and Individual Contributor with a remote four-engineer team rebuilding a key internal CMS into a real-time web app (WebSockets, Node.js, React, Redux, Cypress).
- Built MVP-to-launch of a JavaScript SPA web application (WebSockets, Node.js, Backbone, Marionette), and onboarded other developers to continue development post-launch.
- Collaborated with product owners, stakeholders, and designers to define specifications for new projects, tools, and systems (Figma, JIRA).
- Implemented SEO best-practices including server-side rendering, canonical URL handling, UX to allow CMS users to customize meta tags, and more.
- Built user-facing features, improved tests, and refactored internals of monolith stack (Ruby on Rails, JavaScript/
CoffeeScript). - Debugged API errors in an internal Elixir/
Phoenix back-end service. - Conducted technical interviews of job applicants with co-workers, both in person and via phone/
video, and collaborated with department leaders to reform the interviewing and onboarding processes. - Mentored new employees and junior engineers, emphasizing code review.
-
Front-End Developer (2011–2013)
@ Current TV (media & politics)Agile pair-programming and test-driven development with continuous testing and integration (Ruby on Rails, RSpec, JavaScript, Backbone.js, Jasmine, Travis CI); project management tools included Pivotal Tracker and FogBugz. (Note: Current TV was sold in 2013 and the site has since been shut down)
- Major code contributions to a responsive redesign and test-driven rebuild of the main site.
- Built TV-ready custom data visualizations in interactive graphs and maps (D3.js, SVG).
- Collaborated on maintenance and custom feature development (WordPress, jQuery).
-
Developer (2007–2011)
@ Wolfgang's Vault (e-commerce & music)Lead developer and maintainer for sites built in WordPress, MediaWiki, and bespoke Perl and Python.
- Implemented complete redesigns and new features based on low-fidelity mockups.
- Migrated a brand presence from a proprietary CMS to a customized WordPress installation.
- Operations support for a production Linux web server.
- Constructed all customer-facing email and implemented several design changes to email templates using XSLTs.
- Served as technical liaison to contracted email delivery service.
Education / Certification
-
Bachelor of Arts, East Asian Studies
2007: Oberlin College (Oberlin, Ohio)Concentrated in Mandarin Chinese language and literature. -
Certified ScrumMaster®
2016Scrum Alliance® (#000530544)
Fun Facts
- I study languages for fun! In school I took classes in Mandarin Chinese, French, Italian, and Russian; lately I've been learning some Spanish and bits of Lojban and Toki Pona in my spare time.
- I'm an avid photographer, both film and digital, and particularly fond of long (multi-hour) exposures and piecing together wide panoramas in a real darkroom.
- I enjoy etymology, eagerly-hyphenated compound modifiers, and the serial comma.
- I write (code, this resume, etc.) with NeoVim, and have been using a Dvorak keyboard layout (e.g. non-QWERTY) since 2003.
- I listen to lots of music!