hi, i'm raymond

i teach robots to
pick things up

ee @ waterloo. i train models, build software, and get it all running on real systems.

currently: building humanoid manipulation @ watonomous · open to fall 2026 internships

things i use

pythontypescriptjavascriptc/c++sqlreactnext.jsnode.jsexpressfastapirest apispytorchscikit-learnhugging facepandasnumpymlflowweights & biasesros 2isaac labgazeboopencvmicro-rosfoxglovestm32freertoscan-fdaltiumdockerkubernetesawsgithub actionspostgres

work

watonomous

watonomous · robotics & ml · humanoid autonomy · design team

oct 2025 – now
  • trained rl + imitation-learning policies in Isaac Lab + PyTorch, 60+ runs tracked in Weights & Biases; reward-shaping sweeps cut convergence time 40%
  • validated the top policies on the physical humanoid: sim → real hardware, not just sim numbers
  • wrote the firmware underneath: STM32 FOC motor control + Kalman-filtered IMU/encoder fusion for joint-angle tracking, wired into the ROS 2 control stack
  • PCA + inverse-kinematics pipeline on a 21-DOF hand: 15 finger-joint commands → 7 synergy controls, shrinking the policy's action space and giving operators a low-dim teleop interface
einfolab

einfolab · data engineering co-op

jan 2026 – apr 2026
  • dockerized python pipeline (pandas + NumPy) ingesting, validating, and reconciling 10k+ records/month across 4 domains (medical, dental, financial, admin), with retries, alerting, and pytest CI
  • caught what sql rules missed: scikit-learn Isolation Forest, 92% precision on a labeled validation set
  • FastAPI + LLM (structured outputs) auto-classifying flagged errors by type: manual review 2h → 30min at 91% accuracy
  • shipped versioned FastAPI endpoints exposing run status, error logs, and record-level audit trails, real-time data-quality visibility for stakeholders
uw formula electric

uw formula electric · software & firmware · design team

sep 2025 – apr 2026
  • live telemetry dashboard (React + Next.js + TypeScript + Tailwind) on Kubernetes with GitHub Actions CI/CD, 5000+ CAN frames per test over WebSocket
  • python pipeline (pandas + NumPy) parsing + storing CAN telemetry in TimescaleDB across 30+ tests: post-test analysis hours → minutes
  • scikit-learn anomaly model on battery cell telemetry: 94% precision flagging voltage + thermal outliers
  • embedded c/c++ firmware for the battery, vehicle control, and power distribution units (BMU / VCU / PDU)
  • HIL test rig in c++/python with pytest: simulate sensor faults + CAN dropouts, catch integration bugs before on-vehicle testing
robotics team

robotics team · embedded systems lead

oct 2023 – jun 2025
  • designed a six-wheel RC mars rover: ESP32 motor controller, custom chassis, live camera stream over wi-fi
  • c++/arduino firmware mapping joystick input to PWM drive + steering signals; 40% improvement in steering repeatability
  • fused ultrasonic + IMU + OpenCV for obstacle detection, driving stabilization, and automatic fail-safe stops

projects

buildboard

a place for student engineers to post builds, recruit teammates, and argue about stacks. react 19 + express + postgres, live on render.

react 19expresspostgrespassport.js

autonomous robot nav stack

watonomous asd

lidar → occupancy grid → a* → pure pursuit. four ros 2 nodes in c++17, simulated in gazebo, watched in foxglove.

ros 2 humblec++17gazeboa*

lingo

translation in chrome's side panel so you never leave the page. manifest v3 + deepl, live on the chrome web store.

javascriptmanifest v3deepl api

current sensing pcb

uw orbital

turns a 2mV whisper across a shunt into something an adc can actually hear. altium, kelvin routing, uw orbital.

altiumina180analog

todo calendar

a task manager with zero dependencies and zero build step. vanilla js and localstorage, that's it.

vanilla jslocalstorage

8-ball pool

two-player pool in java swing with hand-rolled physics: elastic collisions, friction, and balls that don't tunnel through each other.

javaswing2d physics

say hi

i like talking about systems that move, models that misbehave, and why the sim always lies. if you're hiring for fall 2026, or just want to chat, my inbox is open.

rayymondf29@gmail.com

also:r53fang@uwaterloo.ca·github·linkedin·resume