Software engineer in Alberta, open to full-time roles

Ziqi (Johnny) Zhang

I build full-stack and data systems end to end, from a multiplayer strategy game with its own C++ engine to a navigation app for Alberta.

Selected work

Projects I've built on my own, from a game AI to a data platform.

Data & ML, 2026

Fogline

A League of Legends analytics platform fed by a 24/7 data pipeline. A win predictor shows each team's chance of winning minute by minute, and plain-English search runs on the Claude API.

  • Python
  • PyTorch
  • DuckDB
  • Claude API
Coming soonWatch each team's chance of winning, minute by minute, and search in plain English.
+1.1−0.2+1.5fogged34,274 games50%Patch 26.2052.1%

Champion icons by Riot Games; stats from Fogline's data for patch 26.20. This site isn't endorsed by Riot Games and doesn't reflect the views or opinions of Riot Games or anyone officially involved in producing or managing Riot Games properties. Riot Games, and all associated properties are trademarks or registered trademarks of Riot Games, Inc.

Infrastructure

Home Lab & Personal IT

The machines and network I look after for family and friends, including a Tailscale VPN that reaches a GPU box at home for AI training and game simulations.

  • Tailscale
  • Ubuntu
  • Windows 11
  • PowerShell
internetGPU boxsubnet routerexit noderemote

About

I'm a Computing Science (Honors) graduate from the University of Alberta. As an intern I built an automated ad-data pipeline and a Dash analytics app for 60+ client accounts. On my own I've built a multiplayer strategy game with a C++ and WebAssembly engine, a win-prediction platform for League of Legends, and an OpenStreetMap routing app for Alberta.

  1. Aug – Sep 2026 · 2 mos

    Freelance Full-Stack Developer

    Smilie’s Restaurant, Edmonton, AB

    Built and deployed the restaurant’s online ordering system, with a 108-item menu, pickup or scheduled delivery, card payments and order tracking, plus a staff portal with a live order dashboard.

    • C#
    • ASP.NET Core
    • Blazor
    • PostgreSQL
    • Docker
    • Playwright
  2. Sep 2025 – Apr 2026 · 8 mos

    Teaching Assistant

    University of Alberta, Edmonton, AB

    Led seminars, supervised quizzes and graded assignments for 100+ students in CMPUT 272, Formal Systems and Logic in Computing Science.

  3. Dec 2024 – Sep 2025 · 10 mos

    Software Engineer Intern

    So Shall We Inc., Edmonton, AB

    Built an automated Python pipeline that loads TikTok, Meta, Google Ads and GoHighLevel data into BigQuery for 60+ client accounts, and with a 3-person team, a Plotly Dash app that replaced manual reporting.

    • Python
    • Pandas
    • SQL
    • BigQuery
    • Plotly Dash
  4. Sep 2022 – Jun 2026 · 3 yrs 10 mos

    B.Sc. Honors, Computing Science

    University of Alberta, Edmonton, AB

    First Class Standing with a 3.8 GPA over the last 60 units, and Dean’s Honor Roll in 2023, 2025 and 2026.

    • Algorithms
    • Operating Systems
    • Databases
    • Machine Learning

Hiring, collaborating, or curious about a project?