Hongda, like Honda. Yes, the car.

I was born in Harbin, went to middle and high school in Singapore, and came to Canada for university: a first Computer Science degree at the University of Toronto, then an Honours BSc in Computer Science at York’s Lassonde School of Engineering.

Today I’m an AI Agent Developer at Geotab in Toronto, and the first engineer on my team. I build agents of several kinds there; the one most people meet is the People Ops agent, which every employee can use. I’ve worked on it since February 2026. It writes travel letters and runs each one through thirteen checks, sends employment verification letters that include compensation, and answers according to who is asking: different employee groups, and managers, individual contributors and senior leaders, each get answers from their own set of documents. Most of its code is mine, and I run it in production. It is built on Google ADK and Vertex AI Agent Engine, reads HR data from BigQuery and checks addresses with Google Maps. I also built its new web platform on Cloud Run, with self‑hosted Langfuse tracing because the data can’t leave company infrastructure; that part is still in staging.

Before that I spent a year on Geotab’s data enablement team building Airflow pipelines, DataHub lineage and Superset dashboards, and a summer at the Ontario Ministry of Health moving datasets from Oracle to Redshift. In 2023 I worked with Nick Feamster on email classification; the paper is in SPIE proceedings.

The one line people use about me is “he gets things done.” I don’t mind challenging the status quo when it improves the outcome.

Off the clock I play the sanxian, a three‑stringed Chinese lute. I’ve performed at the Toronto Dragon Festival, with the Toronto Artist Symphony Orchestra, and for the Chinese Embassy in Canada, which gave me an Outstanding Cultural Contribution award. I train jiu‑jitsu four times a week and have played badminton since high school.

Projects
  • 2026
    Two fixes merged into Google ADK

    A callback that replaced a model response silently dropped the streaming flag, so every streamed fragment was shown as final and saved to history; then the same shape of bug erased token counts. Reported both to google/adk-python with deterministic reproductions. The first fix carries my design and helper name by the maintainer's account; the second is my commit, 8e386a9. Shipped in v2.10.0 and v2.12.0.

    google/adk-python · open source · PR #7449 (merged) · Issue #7035

  • 2026
    People Ops agent

    The HR agent every Geotab employee can use, on Google ADK and Vertex AI Agent Engine. It answers policy questions with citations, according to who is asking: each employee group and level gets answers from its own set of documents. It sends employment verification letters that include compensation, and a sub-agent writes travel letters. It reads HR data from BigQuery and checks addresses with Google Maps. Most of the code is mine, and I run it in production. I also built its web platform on Cloud Run, with self-hosted Langfuse tracing; that one is in staging.

    Geotab · production

  • 2026
    Travel-letter automation

    A sub-agent collects the details for a letter employees show at the Canada-US border; a validator runs thirteen checks, nine of them plain code, two through Google Maps and two through a model. A failed check sends the letter to a person instead of refusing it. 85% needed no one in the first three months; the design went through a threat model and a privacy review.

    Geotab · production

  • 2026
    hongda.app, multiplayer games for friends

    Real-time games on Cloudflare: each room is an authoritative server in a Durable Object, and line of sight is computed server-side, so no client ever receives what its player can’t see. Built with Claude Code.

    Side project · Cloudflare

  • 2025
    Gesture control for a Kinova Gen3 arm

    YOLOv8-Pose keypoints from a webcam, a small state machine, and Cartesian velocity commands over ROS2. Wave, and a 7-DOF arm follows.

    York University · robotics · Source

  • 2025
    RBAC agent for developer onboarding

    New developers kept interrupting senior ones with "who can access this dataset?". A Google ADK agent answers first, in plain language, with the access logic spelled out.

    Geotab · Source

  • 2025
    IoT sensor node on a Raspberry Pi

    DHT11 readings validated and logged to CSV, with PySpark Structured Streaming watching the folder and emailing alerts.

    York University · embedded

  • 2024–25
    Metadata and lineage on DataHub

    Ingestion with the Python SDK and REST API, giving end-to-end lineage from PostgreSQL tables through BigQuery to Superset dashboards. Airflow pipelines across production and UAT.

    Geotab · data enablement · Source

Experience
  • 2026 –
    AI Agent Developer, Geotab

    First engineer on the team. I build and run the HR agent every employee can use. Wrote the technical screen and hired the second engineer. Named the division’s AI technical expert and run its AI Ambassador program; AI Champion award, 2026. Two fixes merged upstream into Google’s ADK (google/adk-python), one as my own commit.

  • 2024 – 25
    Data Developer (intern), Geotab

    Airflow pipelines across production and UAT, metadata and lineage on DataHub via the Python SDK and REST API, Superset dashboards. Worked with the Embedded, RevOps, Keyless and Data Platform teams. First agent work, on Google ADK.

  • 2024
    Application Programmer, Ontario Ministry of Health

    Business intelligence team. Automated the migration of 30+ datasets from Oracle to Amazon Redshift with Python and S3, built 12 IBM Cognos dashboards, and wrote a pandas script that halved the time colleagues spent comparing Excel reports.

  • 2023
    Machine learning research, with Nick Feamster

    Email classification on a 5,172-message dataset. The improved SVM reached 98.17% accuracy; published in SPIE proceedings (ICCAID 2022).

Education
  • 2025
    Honours BSc, Computer Science

    York University, Lassonde School of Engineering

  • BSc, Computer Science

    University of Toronto

Geotab, in three pictures
Hongda with his manager Varun in the office
With Varun, who opened most of the doors.
A laptop, a badge and a lanyard laid out on a desk
Last day of the internship, 2025. Rehired five months later.
Kayaking on Lake Ontario with the CN Tower ahead
Lake Ontario, the long way to the office.
Elsewhere

This site is Astro on Cloudflare, set in Inter. No analytics, no cookies.