Andrew Patton

acusti.ca // andrew@acusti.ca

Current Employment

Time Sites — Principal Front-End Engineer June 2022 – Present
Time Sites is a collaborative web publishing platform that enables teams to design, build, publish, and maintain their web properties

Selected Projects

Time Sites June 2016 – Present
Build and architect experiences across the Time Sites (née “Brandcast”) platform, from the design studio to the web publishing server. Collaborate closely with our lead product designer to design and build new features and UXs in a scalable and maintainable way.

React.js Oct. 2016 – August 2018
Modified the react-dom library to make it possible to render React components into an iframe and worked with the core React team to land those changes in facebook/react.

UIKit (and other modules) March 2015 – Present
Maintain UIKit, a high-quality UI toolkit, audile, a mobile-friendly web audio player, and react-higher-event, a declarative API for listening to events outside of a React component.

Cinémathèque Québecoise Oct. 2014 – June 2015
Lead developer and architect of a multilingual Solr-powered search application built with FuelPHP and a sibling WordPress-powered publication site for Québec’s official film archives.

Trica Furniture March 2014 - Aug. 2014
Built a WordPress-based multilingual product catalogue with a custom responsive theme, custom interactive sliders and image galleries, and a custom-built authoring experience.

Jewish General Hospital Library Search Dec. 2013 – March 2014
Built a fast and maintainable multilingual Solr-powered search front end, based on my initial design, for a hospital library using Handlebars and vanilla JS.

Open Source Contributions

React, immutable.js, jsdom, wp-cli, AMP, flow, vimeo/player.js, browserslist, react-dnd, CSSOM, jest, fbjs, react-draggable, timeago.js, draft.js, react-higher-event, uikit, audile, selection.js, bezier-easing-editor, gogs, PrestaShop-webservice-lib, affixing-header, onscrolling, socket.io, diffDOM, AtomLinter/linter-jscs, react-number-editor, basecamp/trix, react-color, redux-form, react-numeric-input, hood.ie, react-async-script-loader, underscores.me, nvalt-prime, jquery-requestAnimationFrame, jquery-smooth-scroll, wp-plugin-in-github, WordPress-Wiki

Programming Languages and Technologies

Front-End

  • JavaScript
    • Functional programming
    • React with Redux or Jotai for state
    • Remix, the full stack web framework
    • Static typing via typescript or flow
    • BDD/TDD (jest and vitest)
    • End-to-end testing with cypress
  • CSS and HTML
    • Flexbox and CSS Grid
    • Web performance and web vitals
    • Mobile web development

Back-End

  • AWS: DynamoDB, AppSync, Lambdas, S3, Cognito, Amplify
  • Cloudflare Workers and Pages
  • Node.js
  • GraphQL and REST
  • iOS with Swift

Other Interests

Music production and composition I love music and play piano. I’ve played a couple of shows in Montreal with a previous iteration of the Sontag Shogun project and was coach of the band Slowest Runner. Also, I like making music, and, when feeling inspired, sharing the results.

Education

McGill University, 2003 – 2007 BA in Cultural Studies, with a Minor in Music Technology

Languages

I speak and understand Spanish and French fluently.