Daniel Guo

Full stack software, computer vision, & robotics

// IDENT

Computing + ML (Applied Math) @UWaterloo, '30. Right now at the SFU Intelligent Robotics Lab, on multi-point articulation inference for robot RL. Vancouver, then Waterloo.

// THIS WEBSITE

Based off the paper Stable fluids, Jos Stam 1999. Drag the background. Type solid on and it becomes a solid the flow has to go around.

  • a gust across the tank
  • a second body — drag it into the wake
  • things that live in the slow water behind it
  • the rest

Waterloo / Vancouver · site source ↗

// WORK

SFU Intelligent Robotics Labaug '26 — now
Research Assistant · Vancouver

Multi-point articulation inference models for robot RL, under Dr. Siqi Zhou.

ZigZag Technologiesmay '26 — aug '26
Software Engineer Intern · Toronto (remote)

Built digital-twin / backend tools and platform for autonomous vending machines, plus the adapter for mapping simulated operations onto live machine APIs. Built things accounting for stuff like network partitions, to prevent a double dispense. 1,000+ replayable runs against 20+ injected API, hardware and operator failure modes, and offline-safe state for the Raspberry Pi deployments.

Legends Haulapr '26 — may '26
Software Developer Intern · Vancouver

Built software for automating data entry, including a finetuned signature detection algo: OpenCV contour heuristics + a CPU-tuned YOLOv8 with a hard-negative mining loop, to tell a real signature from a handwritten note on the same form. 82% → 94% in four training runs. Took ~4 hrs/day of manual entry off the floor and caught 600 historical errors on the way through.

SharpConejun '25 — aug '25
Intern · Langley

Quote-drafting tool for a plastics supplier — FastAPI, pandas, SQLite, ReportLab — generating customer-ready PDFs off their existing Excel pricing sheets.

// BUILT

ASCII Fluid Dynamics Simulatorjs · canvas

ASCII fluid sim (this website) based on Jos Stam’s 1999 stable-fluids method: Gauss-Seidel pressure solve, semi-Lagrangian advection, vorticity confinement to put back the curls diffusion eats. Obstacles, like this panel, are real Neumann boundaries. Semi-Lagrangian scheme took framerate up ~200% over my first naive pass.

source ↗ writeup ↗
Facial-Landmark Feedback Pipelinepython · opencv

Landmark feedback for drawings as well as photographs. Does a bit better than neural detectors for rotated heads, pencil sketches, uses CPD registration and solvePnP geometry. On a 50-case benchmark: 98.9% / 100% precision-recall, against GPT-5.5's 63.5% / 70.5%.

Phone-Detection Roombapython · esp32 · aws

A Roomba that follows you around and sounds an alarm when it sees a phone. On-device YOLOv8 for frame-rate phone/face tracking, one cloud Rekognition call to work out who it's looking at. The controller is a finite state machine doing proportional visual servoing off the bounding box.

VR 3D Modelling Appc# · unity · openxr

Built with friends at CMU Nexhacks over a weekend (Honorable mention out of ~500 submissions)

// STACK

daily
Python · C/C++ · TypeScript / JS · SQL
also
C# · Java
ml + cv
PyTorch · TensorFlow · OpenCV · MediaPipe · YOLO · scikit-learn
services
FastAPI · Node · Next.js / React · PostgreSQL
infra
Docker · AWS (S3 / Lambda / SQS) · Linux
elsewhere
ROS2 · Unity · pandas

// NON-WORK

Rock climbing is pretty cool, i also like cooking and want to get better at baking. i've also been trying to read more. hiking is pretty fun too - in vancouver i did grouse mountain and cypress a few times, want to try to hike more in the future (not a lot of mountains in waterloo)