Resume

Experience

I build product interfaces and the systems behind them, mostly with React and TypeScript.

Work history

Professional experience

6 roles since 2011

  1. Senior UI Developer

    Marriott International

    Current role

    July 2024 to present · Remote

    Primary implementer across internal developer-platform and property-management applications, with supporting backend work in Python and FastAPI.

    • Built core React and TypeScript features for an internal developer platform, including dashboards, data tables, entity views, activity updates, and schema-driven forms.
    • Carried out frontend modernization work, including upgrades to React 19 and Tailwind 4, a component-library migration, a form-library migration, and a move toward server-side data loading.
    • Built features for a second internal application, including routing, authenticated sessions, onboarding forms, data tables, real-time notifications, and tests.
    • Added Python and FastAPI features for query filtering, multi-source data enrichment, session preferences, and real-time service updates.
    • Implemented OIDC and SSO integrations, WebSocket updates, and session-expiry handling across internal applications.
    • Wrote Vitest, Testing Library, and pytest coverage alongside feature work and maintained frontend quality and build tooling.
    • React
    • TypeScript
    • TanStack
    • Tailwind CSS
    • Python
    • FastAPI
    • WebSockets
    • OIDC/SSO
    • Vitest
    • pytest
  2. Senior Software Engineer

    Tackle.io

    September 2021 to July 2024

    Built and maintained front-end features and shared components.

    • Worked primarily with React, TypeScript, and Apollo GraphQL.
    • React
    • TypeScript
    • Apollo GraphQL
  3. Software Engineer

    Upland Kapost

    November 2019 to September 2021 · Boulder, Colorado

    Built new product features and updated legacy interfaces.

    • Worked across Vue and React applications and helped maintain the deployment process.
    • Added end-to-end coverage with Cypress.
    • Vue
    • Vuetify
    • Vue Apollo
    • React
    • Cypress
  4. QA Automation Engineer

    EMC

    August 2015 to November 2019

    Developed end-to-end test automation for a web-based management platform.

  5. Web Developer Intern

    ComplyTrax

    2014

    Helped move server-rendered ASP.NET views to .NET MVC as part of the product's full-stack development.

    • ASP.NET
    • .NET MVC
  6. Freelance Web Developer

    The TNB Group

    August 2011 to July 2015

    Built custom websites and web applications for small businesses based on client needs.

    • Joomla
    • WordPress

Projects

Selected work

Test collection tool

build-logger

An internal application that collected and organized test results, including videos and screenshots captured during each run. Results were searchable by branch, build, test, and release.

  • Express
  • Vue
  • Docker

Shared music listening

RadioRoom

A web application where people could create rooms and listen to synchronized music together.

  • Express
  • Vue
  • MongoDB
  • Socket.IO

Technical scope

Tools used

Frontend
JavaScript, TypeScript, React, Vue, Nuxt, HTML, CSS
Data and APIs
GraphQL, Apollo, MongoDB, Node.js, Express
Testing and delivery
Cypress, End-to-end automation, Docker, Git, Linux

Education

Union Adventist University

Bachelor of Science in Computer Science

2011 to 2015

Certification

TestOut Network Pro

TestOut Corporation

Contact

Want to talk?

[email protected]