I am a full-stack senior software engineer based in Vancouver. At a staff-level scope, my work is less about owning a single layer of the stack and more about making large, cross-cutting outcomes land safely: aligning several teams on one direction, turning ambiguous platform problems into sequenced delivery, and keeping quality visible in tests, CI, and production.
Over the years that has meant leading multi-team efforts—navigation and experience work that touches every surface, high-stakes identity and access migrations, and the unglamorous glue in between: ADRs, phased rollouts, and clear ownership when legacy and modern stacks coexist. I am often the person who convenes the room, frames trade-offs, and follows through so the organization does not pay the same tax twice.
I am known for stepping outside the job description when the bottleneck is coordination: standing up short-lived “mission control” setups for tough incidents or deadlines, pairing with others to raise the bar, and using AI-assisted tooling pragmatically to speed up real work—not slide decks.
Before my current chapter I led frontend teams on complex product surfaces, shipped full-stack across React, Rails, mobile, and Rust, and went through Propel ICT’s startup accelerator, which sharpened how I connect engineering decisions to business and customer outcomes.
Outside of work I write here about software, delivery, and whatever helps other builders ship with less thrash.
Connect: GitHub · LinkedIn · [email protected]
How I show up
Leadership and collaboration
- Leading initiatives that cut across several teams—from navigation overhauls to identity migrations—without losing clarity of ownership.
- Building temporary "mission control" setups when incidents or deadlines demand fast alignment.
- Mentoring, pairing, and raising the bar on code review so the whole group ships with confidence.
How I work as an engineer
- End-to-end delivery: browser, API, data, deployment, and observability treated as one system.
- Strong bias for tests, CI, and incremental migration (legacy to modern stacks) guided by clear ADRs.
- Comfortable operating as the person who connects product, platform, and infrastructure when the problem is fuzzy.
Technical breadth
Grouped for scanning — not an exhaustive inventory, but the areas I lean on most often.
Frontend
- React
- Next.js
- TypeScript
- GraphQL
- Tailwind CSS
- SASS
- Testing (RTL, Jest, Cypress, Playwright)
Mobile
- React Native
- Swift
- Kotlin
- Detox
- Appium
Backend and APIs
- Node.js
- Ruby on Rails
- Rust (Actix, Axum)
- REST
- gRPC
- CQRS
- Event sourcing
- DDD
Data
- PostgreSQL
- TimescaleDB
- MySQL
- MongoDB
- DynamoDB
- Prisma
- Diesel
Cloud, DevOps, and quality
- AWS
- GCP
- Docker
- Kubernetes
- Terraform
- GitHub Actions
- GitLab CI
- CircleCI