// hello, world

hi, i'm ethan.

Robotics & AI @ UCL

I build intelligent systems that bridge the gap between software and the physical world. Focused on autonomous robotics, legged robotics, and cool things.

// projects

UKSEDS Olympus Rover Trials

UKSEDS Olympus Rover Trials

Awarded Best CDR Report as Mechanical Design Lead for "Gut Genug", an autonomous rover that maps a pit and collects sand samples — designed and 3D-printed its rotary bucket drum sampling system in Fusion 360.

Fusion 360 · 3D Printing · DfM

Inverted Pendulum Cart

Inverted Pendulum Cart

A non-linear Python simulation and physical Arduino build of an inverted pendulum cart, using LQR/Pole Placement control and a multi-sensor Kalman filter to catch and recover a falling pendulum.

Python · SciPy · Arduino · Kalman Filter

Gomoku Reinforcement Learning

Gomoku Reinforcement Learning

An AlphaZero-based reinforcement learning agent for Gomoku, combining a dual-headed ResNet with Monte Carlo Tree Search and an 11-level self-play curriculum to master a 10⁵⁰-state game.

ResNet · MCTS · DQN · NumPy

BiegSam Autonomous Robot

BiegSam Autonomous Robot

An autonomous multi-terrain robot built in six weeks, combining line tracking, wall following and stair climbing via a closed-loop control system with ultrasonic and reflectance sensors.

CAD · C · Arduino

Smart Fan System

Smart Fan System

A team-built smart fan system that adjusts RPM based on proximity, temperature and orientation, prototyped with soldering, laser cutting and 3D printing.

Arduino · 3D Printing

// experience

Robotics Software Developer

UCL Industry Project with Laelaps AI

Mar 2026 — Jul 2026

ROS 2 · PettingZoo · PyTorch · Gazebo

  • ›Developed a sim-to-real Multi-Agent Reinforcement Learning (MARL) pipeline for Unitree Go2 quadrupeds in partnership with Laelaps AI.
  • ›Designed centralised training, decentralised execution (CTDE) policies using PettingZoo and PyTorch. Tested on 2 quadrupeds in Gazebo simulation.
  • ›Engineered a robust ROS 2 Humble overlay framework integrating ros_gz_bridge and gz_ros2_control to cleanly decouple 2D occupancy-grid training from 3D physics execution.

Technical Officer

UCL Robotics Society

Jul 2026 — Present

Astro · Cloudflare Pages · DNS

  • ›Took over as lead developer of uclrobotics.com from the previous maintainer, redesigning and rebuilding the site in Astro to modernise its layout, content, and navigation.
  • ›Migrated hosting to Cloudflare Pages and resolved custom domain and DNS configuration issues, including a .co.uk to .com redirect, to bring the new site live under the primary domain.

Coding Teacher

BlueShift Education, London

Sep 2025 — Jul 2026

Python · Scratch · MakeCode Arcade

  • ›Mentored groups of ≈15 students, fostering an engaging learning environment and providing 1-on-1 technical support to debug Scratch, Python and MakeCode Arcade code.

Hybrid Work Experience Programme

Capgemini, London

Apr 2023

Agile · SAP

  • ›Observed the application of agile methodologies and the role of ERP systems (SAP) in managing large-scale data
  • ›Collaborated in a group to research a sample business case and pitch findings to industry mentors

// tech stack

Programming

  • ›Python
  • ›C
  • ›JavaScript
  • ›HTML
  • ›CSS
  • ›SQL

Tools & Frameworks

  • ›Arduino
  • ›Fusion 360
  • ›Git
  • ›GNU/Linux
  • ›MATLAB
  • ›Simulink
  • ›Node.js
  • ›Pandas
  • ›Scikit-learn
  • ›ROS 2
  • ›Gazebo

// education

MEng Robotics and Artificial Intelligence

University College London

2024 — 2028

A*A*A in Maths, Physics, Computer Science

Trinity School Croydon

  • ›A* in EPQ on AI integration in social media algorithms
  • ›12 GCSE Grade 9
2022 — 2024