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 open to 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 internships, or just want to chat, my inbox is open.

rayymondf29@gmail.com

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