Experience

More than a year on an ML platform team, first at CARFAX and then at Mobility Global after it separated from S&P Global. My focus has been monitoring and logging, SLA alerting, the GitOps deployment pipeline, and access controls for the platform that serves our production models.

Work

Mobility Global

formerly S&P Global Mobility · London, ON (Hybrid)

  1. ML Platform Engineer (Associate, Part-Time)

    Sep 2026 – Present
    • Standardized SLA monitoring across 20+ NVIDIA Triton model deployments with a reusable Helm template built on Grafana Operator CRDs, AWS SNS (via ACK), and PagerDuty, replacing team-specific configurations.
    • Migrating model telemetry off Python sidecars onto Envoy AI Gateway route metrics, so services get gateway-native telemetry without per-service instrumentation.
  2. ML Platform Engineer Intern

    May 2026 – Aug 2026
    • Fixed recurring pod scheduling failures by correcting kubelet eviction and ephemeral storage settings across 3 CPU and 4 GPU EKS node classes.
    • Root-caused a silent misconfiguration that had zeroed every SLA rule, then made per-model p95 latency and availability queryable in constant time with Prometheus recording rules.
    • Split Grafana out of a monolithic LGTM umbrella chart into an independently versioned deployment, migrating 11 tenant organizations across 2 production environments with zero dashboard or datasource loss.

CARFAX

London, ON

  1. MLOps Intern

    Sep 2025 – Apr 2026
    • Cut platform spend by $66K/year (9%) by profiling telemetry collectors and reducing observability overhead 70%.
    • Removed cross-account deploy risk across 9 clusters with a context-switching CLI. Recognized with an Intern Spotlight.
    • Built Grafana multi-tenancy that isolates logs, metrics, and traces for 8+ tenant organizations using Grafana Alloy tenant routing, per-tenant Mimir and Loki storage, and Okta-governed RBAC. Wrote the design doc comparing two auth architectures that settled the team's approach.
    • Unblocked the launch of a DistilBigBird transformer model by extending the Python Triton request broker to return binary tensor encoding, since FP16 outputs couldn't be sent as JSON.
    • Closed an audit gap on model registration by propagating OIDC identity from Flyte pods through the Kubernetes Downward API into the MLflow client, so every registered model is attributable to a real user.

Long Branch Neighbourhood Association

Toronto, ON

  1. Mobile Front End Developer

    May 2020 – Aug 2020
    • Built the cross-platform UI for a community trails app in Flutter and Dart, which reached 2,700+ organic downloads and a 4.4-star rating across 250+ ratings on iOS and Android.
    • Integrated interactive Google Maps navigation for 3 hiking trails, drawing 3,500+ interactions from a community of 10,000+ residents.

Leadership

Western Computer Science Undergraduate Society

London, ON

  1. Vice President

    Sep 2026 – Present
    • Scaled technical programming to 4 workshops of 15–30 students each, including one co-delivered with an OpenAI engineer, by hiring 5 directors and handing each of them ownership of an event.
    • Created a workshop on using Claude Code in day-to-day developer workflows.

Education

Western University

B.Sc. Computer Science · London, ON

Expected Dec 2026

Certifications

Skills

Languages
PythonGoC++HCL (Terraform)SQLPromQLYAMLBash
ML serving
NVIDIA Triton Inference ServerMLflowFlyteEnvoy AI Gateway
Infrastructure
Kubernetes (EKS)KarpenterDockerAWS (EC2, S3, IAM, RDS)TerraformArgoCDHelm
Observability
PrometheusGrafanaGrafana AlloyMimirLokiTempoOpenTelemetry