Experience

Associate Software Engineer

Veeva Systems

Sept 2025 – Present

Toronto, ON

  • Refactoring a Spring Boot microservice toward single responsibility, moving business logic out so it purely handles AS2 transmissions
  • Consolidated ownership of a cross-team data mapping, scoping most changes to a single team
  • Redesigned how connections are configured, migrating from a single shared profile to per-connection profiles via a custom copy action and data migration

Software Developer (Contract, Part-Time)

CleanBill

April 2025 – Aug 2025

Vancouver, BC

  • Built an event-driven pipeline (Inngest, AWS Textract) to automate billing data extraction from ER visit summaries, eliminating a manual triage step that scaled with intake volume (~1 hr/day)
  • Designed a bucketing algorithm to infer each document's billing shift from overlapping time windows
  • Extended the parser to extract clinical notes based on OCR text-block geometry

Software Developer Intern

TAIT

May 2024 – Aug 2024

Vancouver, BC (Remote)

  • Collaborated on Feltboard, a Digital CMS for the Experience Design industry
  • Optimized storage efficiency by implementing shared media buckets, reducing redundant uploads by up to 5X
  • Enhanced user workflow by creating a “save as” feature, allowing users to easily replicate and modify data structures

Software Developer Intern

TAIT

July 2022 – Aug 2023

Vancouver, BC (Remote)

  • Developed a frontend dashboard using Vue to allow users to monitor key metrics within their connected devices
  • Facilitated dynamic schema relationships, empowering users to effortlessly create and manage intricate content structures by referencing one schema from another

Teaching Assistant

University of British Columbia

Sept 2021 – Dec 2022

Vancouver, BC

  • Taught fundamental programming skills and concepts such as recursion, graph traversal, testing, and debugging
  • Led weekly labs and office hours for over 1200 students over three academic semesters

Projects

Loltest

June 2026 – Present
  • Built a Go microservice game backend with concurrency-safe matchmaking and a load-test harness simulating thousands of concurrent players

Sports Macros

Oct 2021 – Present
  • Facilitates effortless generation of macros, optimizing the media captioning workflow within Photo Mechanic
  • Utilized by professional NHL photographers during every Vancouver Canucks home game for the past 5 seasons

Education

Bachelor of Science, Computer Science

University of British Columbia

Sept 2019 – April 2025

Vancouver, BC

Skills

languages

  • Java
  • Python
  • Go
  • TypeScript
  • JavaScript
  • Bash
  • SQL
  • NoSQL
  • GraphQL
  • HTML
  • CSS

frameworks

  • Node.js
  • React
  • Next.js
  • Vue.js
  • JUnit
  • Mocha
  • Chai

other

  • Git
  • Docker
  • Kubernetes
  • GCP
  • AWS
  • Terraform
  • Jenkins
  • Datadog
  • Jira