Overview / History
Track record, tools and practice
Roles before the studio year, the tools they were built with, and the principles the current work is held to.
Track record
- Jan 2026 – Present
Founder & Senior Software Engineer · DriftPilot
Product engineering studio. AI stack research through the first half of 2026, then two live Next.js sites designed and shipped end to end under a performance budget enforced in CI.
- Jun 2025 – Jan 2026
Family leave · Planned break
A deliberate pause between roles. Returned to full-time engineering in January 2026.
- Jan 2020 – Jun 2025
Senior Software Engineer, Full-Stack · AutoTrader.ca — AutoSync
Production features on a national automotive SaaS platform. Implemented and tuned Redis Object Cache Pro against AWS-hosted Redis; network-level downtime dropped to near zero after rollout.
- Nov 2018 – Jan 2020
Full-Stack Senior Development Specialist · Convertus (acq. AutoTrader.ca)
WordPress multisite serving enterprise automotive clients, extended with custom object-oriented PHP. Authored the Tadvantage platform’s SEO subsystem — Vehicle and AutoDealer structured data, custom inventory sitemaps, canonical and meta handling — and co-built myGarage with its price-alert service. The platform carried through the acquisition to serve AutoSync dealer sites.
- Jan 2018 – Nov 2018
Programming Teaching Assistant · VFS School of Creative Technologies
Coached students through debugging, code review and engineering practice. Rebuilt the internal grading platform in Vue.js and MySQL, replacing the instructor workflow.
- Oct 2016 – Aug 2018
Junior Full-Stack Developer · VFS School of Creative Technologies
Responsive web applications and internal database-driven platforms in AngularJS, React, Python, PHP and MySQL.
- 2016 – 2017
Education · VFS, Programming for Games, Web & Mobile · Douglas College, Computer Science
Awarded Top User Interface Design, VFS School of Creative Technologies, 2017.
Tools
- Languages
- TypeScript, JavaScript, PHP, Python, SQL, Bash
- Frontend
- React 19, Next.js App Router and Server Components, Vue.js (Vuex, Vue Router), Tailwind CSS, design tokens, SCSS, Webpack, WCAG accessibility
- Backend
- Node.js, Express, REST APIs, React Server Actions, WordPress Multisite and WP-CLI, MySQL, PostgreSQL, MongoDB, Redis Cluster, Zod validation
- Performance
- Object Cache Pro, WP Rocket, object and page caching strategy, k6 load testing, New Relic, Core Web Vitals and performance budgets
- Cloud & DevOps
- AWS (CodeDeploy, S3), Vercel, Docker, Cloudflare, GitHub Actions, Bitbucket Pipelines, Jenkins, CI/CD
- Quality
- PHPUnit, Jest, SonarQube, Veracode, ESLint, PHPCS, Composer, code review
- Integrations
- CARFAX, Auth0, Optimizely, ChromeData, Slack API, SFTP, Nodemailer, SOAP and REST partner feeds
- AI & automation
- Claude and OpenAI APIs, structured outputs with schema validation, multi-agent review pipelines with role-scoped write access, AI-assisted development workflows, prompt engineering, n8n
- Practice
- Architecture guardrails, decision records, release ownership, technical SEO, EN/FR internationalization, Agile and Scrum, mentoring
Practice
Budgets, not intentions
A quality bar that lives in a document decays. One that fails the build holds.
Contracts over implementations
Typed accessors and domain contracts, so the thing behind them can be replaced without a rewrite.
Guardrails before refactors
Every module classified: never rewrite, extract for reuse, stable with sign-off, safe to improve.
Decisions with consequences
Decision records that state the cost of the choice, not only the reasoning for it.
Privacy in the pipeline
If a mistake would leak something, the build should prevent it rather than a reviewer catching it.
Gaps in writing
Known weaknesses documented with their consequences, before anyone asks about them.
