Skip to main content
resume.txt

Annabelle Wright

Frontend Engineer

Currently at eBay. Previously Microsoft Advertising (formerly Xandr) for 5½ years.

I build production web apps in React, TypeScript, and GraphQL, and I like the work users notice: fast pages, accessible UI, and fewer errors.

TypeScriptReactNext.jsTestinga11y
impact_summary.txt
  • 90% reduction in customer-facing errors
  • 40% faster page loads
  • 5+ years shipping at scale
  • 1 background thread: annabelle_os (idle)
current_role.txt
Current Role

Software Engineer 3 @ eBay

Feedback & Reviews Platform

Experience

job_ebay.log

Software Engineer 3

July 2025 - Present

eBay

Feedback & Reviews Platform

  • Sole web engineer on "Photos and videos from customers," the carousel of buyer photos and videos now live on eBay item pages. Built the carousel and its review modal in Marko against a REST API.
  • Shipped the carousel into the item page, which a different org owns and protects with its own release standards and pipeline. Learned their process, built a working relationship with that team, and got it through their review to launch.
  • Migrated two multi-step feedback revision flows, including photo upload, from Marko to React and TypeScript on eBay's federated GraphQL. Feedback is used by hundreds of thousands of people a day.
  • Building the frontend for a new eBay experience in a greenfield React 19 app, including reusable GraphQL-backed card components I designed so new content types plug right in.
  • Wrote the Node.js layer that pulls from a mix of legacy and modern APIs shared with the iOS and Android apps and reshapes the data for web, in a codebase with 25+ years of history.
  • Took on codebase health unprompted: cut TypeScript errors 25%, added lint rules and missing tests, upgraded Storybook, and got hot reload working, ending dev server restarts after every change.
  • Built an IntelliJ plugin for Marko from scratch for a company AI day, after watching teammates switch editors to work in our Marko repos. Two engineers on the team now use it.
  • Wrote reference docs for our React and Marko component libraries aimed at coding agents, so they use our components correctly. My own workflow runs passes with Claude Code, Cursor, and Codex, then a careful human review for correctness and readability before anything merges.
  • Founded and run a 20-person monthly frontend developers meetup, coordinating in-office sessions for knowledge sharing.
job_microsoft_ads.log

Software Engineer 2

July 2021 - July 2025

Microsoft Advertising (formerly Xandr)

Xandr Invest and Microsoft Advertising Platform

Portland, OR

  • Cut customer-facing errors by 90%, from about 500 a day to under 50. Added error tracking and a dashboard that grouped frontend errors as they were thrown, then worked down the most common causes.
  • Made pages load 40% faster by rewriting GraphQL queries that kept re-fetching the same subgraphs, bringing the app within its SLOs of a 3-second mean and 6-second p95.
  • Scoped new ad targeting features that let buyers target by geography and demographics, including zip code and region, then split the work across the team and led it to launch on schedule.
  • Started the team's mentoring program with an engineering lead and mentored two engineers directly through pairing and code walkthroughs.
  • Moved the team's frontend tests from Enzyme to React Testing Library across our repos.
job_microsoft_test.log

Software Engineer in Test 2

Jan 2020 - July 2021

Xandr (now Microsoft Advertising)

Promoted to Software Engineer 2

Portland, OR

  • Replaced the team's Gherkin-style tests with a Cypress workflow developers run as they build. The whole team switched over.
  • Added SonarQube quality and security checks to our repos.
  • Built small Kubernetes test environments that spun up only the dependencies each app needed.
  • Mocked external dependencies in mid-level tests so the team could focus on bugs in the apps we owned.
job_city_of_eugene.log

QA Automation Engineer

Mar 2018 - Jan 2020

City of Eugene

Eugene, OR

  • Built a Python test automation framework for web and desktop apps, REST APIs, and databases.
  • Load-tested web apps with Locust to compare response times on-premise and in the cloud.
  • Stored historical test results in a database so trends across test suites were easy to report.
  • Administered Jira and Confluence, including custom workflows and ticket layouts.
job_accruent.log

Quality Assurance Associate

July 2017 - Mar 2018

Accruent

Austin, TX

  • Built and maintained a Selenium WebDriver automation framework.
  • Ran weekly performance tests across deployments.
  • Was the main QA contact for integrations across several products.

Skills

languages.txt

Languages & Frameworks

TypeScriptJavaScriptReact 19Next.jsNode.jsMarkoGraphQL (federated)PostgreSQLPythonGDScriptHTMLCSS
testing.txt

Testing & Quality

JestReact Testing LibraryCypressStorybookSonarQubeAccessibility (WCAG)
tools.txt

Tools & Infrastructure

GitCI/CDDockerKubernetesAzureKustoFigma
other.txt

AI & Practices

Claude CodeCursorCodexAgent-facing docsPerformanceMentoringCode ReviewREST APIs

Education

edu_uw.txt

Graduate Coursework in Natural Language Technology

Jun 2024 - May 2025

University of Washington

Seattle, WA (Remote)

edu_unt_ms.txt

MS in Recreation, Event, and Sports Management

Aug 2015 - May 2017

University of North Texas

Denton, TX

edu_unt_ba.txt

BA in Linguistics

Aug 2012 - May 2015

University of North Texas

Denton, TX