About

Last updated

I'm Wes, a full-stack engineer with a product focus. I'm an admin of RetroAchievements and the core maintainer of its web platform. RA has grown from ~200,000 accounts to over 2 million since I started contributing. My work there is public, and it covers product UI/UX, API design, database performance, and DevRel.

I grew up in Bismarck, Arkansas, studied computer science and piano performance, and now live in Cambridge, MA. For a while I held the Donkey Kong arcade world record.

Timeline

  1. 1998My dad introduced me to arcade games by bringing home a Defender arcade cabinet.
  2. 2012Graduated from UA Little Rock with a B.S. in Computer Science and a B.A. in Music (piano performance).
  3. 2012Joined FIS in Little Rock as a COBOL developer, then found my passion for UI and product engineering when I was put on the front-end of a project moving a GWT app to a JavaScript single-page app.
  4. 2013Reached the Donkey Kong kill screen, the 53rd person known to have done it.
  5. 2014Started kongtrac.kr, an archive of arcade Donkey Kong scores from 1982 on, later covered by Ars Technica.
  6. 2015Moved from Little Rock to Concord, Massachusetts to join SmashFly Technologies as a software engineer.
  7. 2015Set the Donkey Kong arcade world record for the first time.
  8. 2016Set it three more times, pushing the score to 1,218,000, done without losing one life.
  9. 2017Traveled to Japan, where Denfaminico Gamer interviewed me at 84 Hashi.
  10. 2018Became SmashFly's front-end architect, working as tech lead and engineering manager, and led the app's move from AngularJS to Angular.
  11. 2019Joined MineralTree as a senior software engineer and soon became its UI tech lead. Took the app's Lighthouse performance score from 22 to 97, and wrote Cypress best practices that were later worked into the official Cypress docs.
  12. 2020Joined This Dot, and helped Twilio build its SIGNAL virtual conference platform in under ten weeks.
  13. 2021Joined ApartmentAdvisor as one of its first engineering hires, leading the front-end.
  14. 2021Wrote psn-api, a TypeScript library for fetching PlayStation Network data, by reverse-engineering the PlayStation mobile app's API calls. It's used in commercial apps and by tools like Raycast's PSN extension. psn-api has had over 180,000 downloads in the past year.
  15. 2021Made my first contribution to RetroAchievements, which had only about 200,000 registered accounts at the time.
  16. 2022Wrote @retroachievements/api, the official TypeScript library for RetroAchievements data. It has had over 30,000 downloads in the past year and is used by projects like EmuDeck's MetaDeck.
  17. 2023Started earnestly contributing to RetroAchievements, with 356 merged pull requests that year, and built the beaten games system, which credits players for finishing a game, not only for unlocking every achievement in it. This system contributed to a surge of growth in RetroAchievements.
  18. 2024Became admin of RetroAchievements and the core maintainer of its web platform.
  19. 2024Shipped the first RetroAchievements page built with React and Inertia.js, the start of moving RA off its legacy PHP front-end.
  20. 2025Shipped multiset, which lets players on RA load a game's subsets alongside its main set instead of patching them in separately.
  21. 2026Shipped player-submitted screenshot uploads, and built V2 of the RetroAchievements API, with OAuth and a published OpenAPI spec.
  22. 2026Published the first post here, How to Migrate from Claude Code to oh-my-pi (omp).
  23. NowBuilding product at ApartmentAdvisor, running RA's web platform (which serves millions of visitors a month), and building tools for working alongside AI agents.