Skip to content

Zain Rizvi

ML engineer and builder.

Forecasting systems, AI tools and robotics that ship.

Two ellipsoids and a floor rendered by a ray tracer written in C, with reflections and shadows
Fig. 1 Ray tracer in C, rendered output.
forecast error cut4% to 1% MAPE
75%
shipments5 years of data, cross-validated
10M+
min pipeline runtimeend-to-end freight forecasting
25→3
processing time cut1M+ in HCV payments reconciled
95%

01 / Experience

Purolator Inc.

Data Scientist (Co-op), Mississauga, ON

May 2025 to Dec 2025

80100120wk 1wk 14wk 27wk 40wk 52ActualNew forecastPrevious (biweekly)
Fig. 2 Weekly volume: actual vs. forecasts.Illustrative, synthetic data
50+ routesPCA5 componentsPC1PC2PC3PC4PC5STL+ARIMAcomponent forecastsroute-levelforecasts50+ series, 5 models
Fig. 3 Route compression, 50+ to 5 components.Illustrative, synthetic data
  • Cut national operations forecast error 75% (4% to 1% MAPE) vs. the previous biweekly forecast, cross-validated on 5 years of data across 10M+ shipments.
  • Compressed 50+ routes into 5 PCA components, forecast each with STL+ARIMA, enabling route-level staffing and capacity decisions (~50x more forecasts).
  • Automated end-to-end freight forecasting pipelines in Python and R (25 to 3 min runtime), extended to new terminals via historical demand reconstruction.
  • Automated executive KPI reporting (Python, QlikView, Excel) giving 100+ stakeholders real-time capacity visibility.
  • Python
  • R
  • STL+ARIMA
  • PCA
  • QlikView

Ontario Ministry of Transportation

Data Analyst (Co-op), Toronto, ON

May 2024 to Aug 2024

  • Reconciled $1M+ across 130,000+ HCV payment records with algorithmic outlier detection in Python/Excel (processing time -95%).
  • Built and maintained Spring Boot REST APIs for the Towing and Storage Safety and Enforcement Act application, with AODA accessibility compliance.
  • Python
  • Excel
  • Spring Boot
  • REST
  • AODA

02 / Projects

  1. Looping clip of the robot arm simulation following a language command
    Fig. 4 Simulation: the arm following a command

    01

    Robotics VLA

    Fine-tuned the SmolVLA (450M) action expert to follow language commands, with attention visualized across 16 layers and a 7-joint MuJoCo simulator.

    grasp success
    9/10
    stack success
    5/10
    bin throws (scripted expert)
    87%
    peg insertion (scripted expert)
    90%
    • PyTorch
    • SmolVLA
    • MuJoCo
    • Gymnasium
    • React
    • Three.js
  2. Looping 3D replay: cars and the ball on the pitch, with coverage, centroid and pressure overlays plus the coach console
    Fig. 5 Replay simulation

    02

    Rocket League Analyzer

    A LangChain tool-calling LLM over match telemetry, plus a Dockerized 3D dashboard synced to replay playback.

    • LangChain
    • LLM tool calling
    • Docker
    • 3D dashboard
  3. Map of donation totals by province, shaded by amount
    Fig. 6 Donation totals by province

    03

    Canadian Political Donations Platform

    Explore donation data by donor, party and region, with filtering and export for researchers. I built the backend and API.

    backend tests (Jest)
    52
    person team
    3
    • React
    • MapLibre GL
    • Express
    • PostgreSQL
    • Supabase
    • Jest

    Runs in your browser

  4. The platformer on its 64 by 64 bitmap display
    Fig. 7 64 x 64 bitmap display, 4 px per unit

    04

    Assembly Platformer

    An 8-bit platformer written entirely in MIPS assembly, playable in the browser.

    jumps (double jump)
    2
    item pickups
    3
    • MIPS assembly
    • sms32v50
    • JavaScript

    Playable in your browser

  5. Flat object colours only
    Fig. 8 Albedo only

    05

    Ray Tracer in C

    A ray tracer in C: move a light source and watch colours refract.

    • C
    • Computer graphics
    • Phong shading
  6. Symmetric scene of twelve glass circles lit by a point source at the centre, with rainbow fringes along the refracted beams
    Fig. 9 Full scene: 12 glass circles, point light at the centre

    06

    Light2D: Dispersion in 2D

    A 2D light transport simulator in C: mirrors, scatterers and glass lenses, with colour dispersion that splits white light into rainbows.

    refracting lenses in the scene
    12
    dispersion: index shifts with hue h
    n + 0.5h
    • C
    • Optics
    • Snell's law
    • Fresnel
    • Dispersion

    Interactive

Also

  • SongifyOpenAI-powered lyrics and album art. 1st place at the AMACSS AI Olympics Hackathon, demoed to 200+ people.1st place, AMACSS AI Olympics

03 / Education & awards

Sep 2022 to Aug 2026

Honours BSc, Computer Science & Mathematics

University of Toronto

Coursework

  • Machine Learning
  • Artificial Intelligence
  • Probability
  • Data Structures
  • Algorithms

Awards

  • 1st Place, AMACSS AI Olympics Hackathon
  • Frank Faubert Scholarship
  • Admission Scholarship

04 / Skills

Languages
Python / C++ / SQL / Java / R / C
Libraries
PyTorch / Scikit-learn / XGBoost / LangChain / Spring Boot / Pandas / NumPy / Polars
Tools
Docker / AWS (Cloud Practitioner) / Git/GitHub / REST APIs / Postman / MySQL / Cloudflare

05 / About

I am a recent Honours BSc graduate from the University of Toronto, with a double major in Computer Science and Mathematics. My work sits between statistics and software: forecasting systems, machine learning models and the tooling that makes them usable.

I have shipped production forecasting at a national logistics company, built a robotics policy with language conditioning, and written everything from a ray tracer in C to a platformer in assembly. I work best on small teams where one person owns a problem end to end.

Portrait of Zain Rizvi
Fig. A Zain Rizvi