About

Lead QA Engineer and Test Automation Architect based in London, ON — 6+ years in test automation and QA leadership, 100+ production releases owned, with credits on titles reaching 50M+ users. Started in games QA at Keywords Studios certifying AAA titles like Fall Guys, then moved into enterprise platform engineering at Lynked Inc, where I now lead testing and own the release pipeline end to end.

The short version: I build the automation that makes regressions cheap and incidents rare, then I sweat the details everyone else skips.

Zero production incidents in 18 months — not because the code was perfect, but because the questions asked at staging were. The happy path is the easy part; edge cases are where bugs hide and where good QA earns its keep.

Flaky tests are bugs in their own right. I don't retry them. I find the root cause — timing, selector, shared state — and fix it. Trust nothing, verify behavior, and never let "it works on my machine" close a ticket.

A Selenium sanity suite that took the QA cycle from 6 hours to 45 minutes; a product-data validation suite that took a 4-day manual cycle to under 10 minutes — built from scratch rather than tacked onto fragile setups. I own the release pipeline through to production: staging validation, RC creation, container promotion, migrations and deploys.

Day-to-day I'm in Java + REST Assured for the API suites, Playwright for E2E with database-state assertions, Selenium for the sanity suites, Jenkins for pipelines, and Grafana for the dashboards that tell me when something silent has gone wrong.

I build AI QA infrastructure on Claude Code. claude-autopilot orchestrates concurrent headless agent sessions under systemd — context handoff, crash backoff, account failover, and asynchronous questions back to a human when an agent is blocked.

A gated 26-command SDLC pipeline takes work from requirements through design, build, review, fix and test audit to a PR, with human sign-off gates and adversarial reviews. Around it: a read-only Postgres MCP server, hooks that block destructive git operations, and Jenkins plugins that give live control of AI sessions.

The rule I work by: agents do the legwork, humans sign off at the gates. AI does not replace the judgement call about what's worth testing or what "done" really means.

// what's actually on my machine right now

Languages
  • Java
  • SQL
  • Rust
  • Bash
Test
  • Selenium
  • Playwright
  • TestNG
  • REST Assured
  • Allure
  • JUnit 5
  • Postman
  • JMeter
  • K6
  • PACT
Infra & CI
  • Docker
  • Linux/Ubuntu
  • Maven
  • Jenkins
  • Job DSL
  • JCasC
  • Jenkins plugin dev
  • Git
  • GitHub Actions
  • Bitbucket
  • systemd
  • Cloudflare Tunnel
Observability
  • Grafana
  • Prometheus
  • Sentry
  • AWS CloudWatch
  • Lighthouse CI
  • axe-core
Data
  • PostgreSQL
  • sql2o
  • HikariCP
Editor
  • IntelliJ IDEA
  • VS Code
  • Neovim
AI
  • Claude Code
  • Claude
  • Cursor
  • GitHub Copilot
  • ChatGPT
  • MCP servers
  • Atlassian MCP
  • Playwright MCP
Fanshawe College — Diploma, Software and Information Testing
London, ON · 2022–2023
NorthCap University — B.Tech, Computer Science
Gurugram, India · 2015–2019