# About

Last updated: 2026-10-12

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](https://github.com/RetroAchievements/RAWeb/commits/master/), 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

- 1998: My dad introduced me to arcade games by bringing home a Defender arcade cabinet.
- 2012: Graduated from UA Little Rock with a B.S. in Computer Science and a B.A. in Music (piano performance).
- 2012: Joined 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.
- 2013: Reached the Donkey Kong kill screen, the [53rd person known to have done it](https://kongtrac.kr/#/timeline/killscreen).
- 2014: Started [kongtrac.kr](https://kongtrac.kr), an archive of arcade Donkey Kong scores from 1982 on, later [covered by Ars Technica](https://arstechnica.com/gaming/2018/02/donkey-kong-scoreboard-strips-billy-mitchells-high-score-claims/).
- 2015: Moved from Little Rock to Concord, Massachusetts to join SmashFly Technologies as a software engineer.
- 2015: Set the Donkey Kong arcade world record for the first time.
- 2016: Set it three more times, pushing the score to [1,218,000, done without losing one life](https://www.wired.com/story/donkey-kong-perfect-high-score/).
- 2017: Traveled to Japan, where [Denfaminico Gamer interviewed me](https://news.denfaminicogamer.jp/kikakuthetower/donkeykong_wescopeland) at 84 Hashi.
- 2018: Became SmashFly's front-end architect, working as tech lead and engineering manager, and led the app's move from AngularJS to Angular.
- 2019: Joined 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.
- 2020: Joined This Dot, and helped Twilio build its SIGNAL virtual conference platform in under ten weeks.
- 2021: Joined ApartmentAdvisor as one of its first engineering hires, leading the front-end.
- 2021: Wrote [psn-api](https://psn-api.achievements.app), 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](https://www.raycast.com/kylinwowo/psn). psn-api has had [over 180,000 downloads in the past year](https://www.npmjs.com/package/psn-api).
- 2021: Made my first contribution to [RetroAchievements](https://retroachievements.org), which had only about 200,000 registered accounts at the time.
- 2022: Wrote [@retroachievements/api](https://api-docs.retroachievements.org), the official TypeScript library for RetroAchievements data. It has had [over 30,000 downloads in the past year](https://www.npmjs.com/package/@retroachievements/api) and is used by projects like EmuDeck's [MetaDeck](https://github.com/EmuDeck/MetaDeck).
- 2023: Started earnestly contributing to RetroAchievements, with 356 merged pull requests that year, and built [the beaten games system](https://docs.retroachievements.org/guidelines/content/progression-and-win-condition-guidelines.html), 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.
- 2024: Became admin of RetroAchievements and the core maintainer of its web platform.
- 2024: Shipped the [first RetroAchievements page built with React and Inertia.js](https://github.com/RetroAchievements/RAWeb/pull/2502), the start of moving RA off its legacy PHP front-end.
- 2025: Shipped [multiset](https://docs.retroachievements.org/guidelines/content/subsets.html), which lets players on RA load a game's subsets alongside its main set instead of patching them in separately.
- 2026: Shipped [player-submitted screenshot uploads](https://github.com/RetroAchievements/RAWeb/pull/5195), and built V2 of the RetroAchievements API, with OAuth and a [published OpenAPI spec](https://github.com/RetroAchievements/RAWeb/pull/5158).
- 2026: Published the first post here, [How to Migrate from Claude Code to oh-my-pi (omp)](https://wescopeland.dev/writing/migrate-from-claude-code-to-omp/index.md).
- Now: Building product at ApartmentAdvisor, running RA's web platform (which serves millions of visitors a month), and building tools for working alongside AI agents.
