Experience

Senior Software Engineer

Hypernatural (BitComplete)

Mar, 2025 - Present

  • Launched an OAuth-enabled MCP server for AI video creation and editing; within three weeks, MCP signups converted at 2.7x the non-MCP rate and generated 20% of new-user MRR
  • Stood up PR preview environments and Claude Code Web integration that seeded agentic workflows across the team; merged PRs per contributor rose 32% and non-engineer PRs grew 8x in the following quarter
  • Gave agents and non-engineers safe production-data access through a Metabase MCP over a PII-safe read-only follower, replacing guesses and risky queries against the primary
  • Owned Stripe payments end to end, from team subscriptions, trials, and credit top-ups to plan changes, and tripled international revenue with dynamic regional pricing
  • Decommissioned a $1,000/month database by migrating vector search from pgvector on AWS RDS to S3 Vectors
  • Sped up CI tests 2.25x and TypeScript formatting 20x by eliminating unnecessary password hashing, loading the DB from snapshots, and replacing Prettier with BiomeJS
  • Promoted to Senior Software Engineer in March 2026 after one year
Python Django React TypeScript PostgreSQL AWS Terraform Stripe MCP Playwright

Software Engineer

Dropbox

Aug, 2022 - Nov, 2024

  • Migrated 300+ engineers from Phabricator to GitHub while preserving review and compliance workflows
  • Built a self-service rules engine that assigned reviewers, commented on code changes, and enforced configurable merge conditions
  • Built a Go CLI and webhook services for managing pull requests and enforcing code-owner reviews across GitHub and CI
Go Python Bazel

Software Engineer

Motive (formerly KeepTruckin)

Nov, 2020 - Aug, 2022

  • Cut CI/CD time 85%, from more than 40 minutes to 5, through caching and selective application deployments
  • Unified AWS Lambda and Kubernetes deployments with a custom controller and Bazel rules integrated with Argo CD
  • Cut IoT log volume 50%, saving thousands of dollars per month
  • Designed a versioned, priority-aware IoT job pipeline across AWS IoT Core, Lambda, DynamoDB, Kafka, and Protobuf
Go Python Ruby on Rails Kubernetes AWS Bazel Kafka Protobuf

Software Engineer

Infoblox

Jul, 2019 - Nov, 2020

  • Cut developer time spent on health checks 75% by replacing a manual application with Prometheus and Kubernetes service discovery
  • Led end-to-end distributed tracing for asynchronous multi-service workflows, improving observability and incident resolution
  • Cut production Docker image size about 40% through multi-stage builds and dependency cleanup
Go PostgreSQL Docker Kubernetes AWS Prometheus OpenTracing

Software Engineer

Ravelin

Sep, 2017 - Aug, 2018

  • Cut CircleCI build times 50% and introduced Cypress end-to-end tests for critical workflows
  • Built interactive D3 fraud graphs and a React Chrome extension used daily by sales
Angular TypeScript Go React D3 Cypress CircleCI

Projects

Yappers

Web app for making Slack-ready animated Yapper emoji from a headshot.

Demo SolidJS TypeScript Vite Tailwind CSS Cloudflare Pages FAL

JobBot

The bot that landed me my job at Ravelin! It's automatically able to apply to job listings using personalized cover letter based on keywords from the job description.

Source Python Selenium XPath NLP

Improved UBC Transcript

Bookmarklet that enhances and beautifies the unofficial UBC transcript, it gets about 450 hits per month and is included as a sidebar resource on the r/UBC subreddit!

Write-up Source Python Flask TypeScript MongoDB AWS Lambda

Alphabet Match

Memory matching game built to help adults learn English letters and their associated sounds. Made with love for my grandmother!

Demo Source React TypeScript

Sudoku Solver

A Sudoku Solver that uses the constraint propagation technique to efficiently solve puzzles.

Demo Source C# ASP.net React Azure

RoboRooney

Slack-bot to quickly scan all available openings at football pitches using the MyLocalPitch API and help arrange soccer scrimmages through Slack

Source Go Slack Heroku