About Me
About me, the site, and my tools. Also some attribution.
Hi I'm Maximus Chan. I'm a software engineer based in Sydney. Currently I work with Redback Racing where I work on creating a self-driving race car for formula student (FSAE). I'm also a student studying at the University of New South Wales (UNSW) doing Computer Science and Commerce.
I've worked at Redback Racing for two years. I'm working as a autonomous vehicle engineer where we build self driving race cars. I work within the subdepartment of mapping where we engineer simultaneous localasation and mapping (SLAM) systems which are responsible for keeping track of where the car is at all times. There I write systems using C++ and ROS2. Before that I was a full-stack engineer working to create live telemetry. Read more about these on the projects section below.
If I'm not programming I love to indoor rock climbing as a sport. I enjoy cooking both asian and western food. During my travels I love taking photo on my film camera. Lastly I occasionally host mahjong sessions at my house.

Projects
A selection of things I've built, at work and for fun. Compared to the home page, the details are fleshed out more here.
Autonomous Car - Mapping Team
Redback RacingFeb 2026 - Present
I am part of a team that makes self-driving race cars. I work within the sub-department of the mapping team. When I started, I wrote a script which uses a modified incremental point fitting (ICP) algorithm to test the accuracy of our simultaneous localisation and mapping (SLAM) algorithms against a GPS reference.
Many iterative tests resulted in having to wait for github actions runners to start and stop. During busy hours waits upto 30 minutes were possible. Feeling this frustration I implemented a kubernetes management system which spins upto 8 containers split by cores to speed up development process. This is also known as a actions runner controller.
Now I'm working on optimising our SLAM algorithm for reliability for our upcoming competition in December 2026.
Live Telemetry Dashboard
Redback RacingAugust 2024 - Jan 2026
I was part of a team that made live telemetry software so engineers could see 300+ datapoints from the car live as it ran. I worked on various tasks, earlier I optimised dynamoDB calls to query preventing whole table scans and cutting latency and cost by 10x.
Later I worked on a feature called "math channels" which allowed engineers to create math equations on live data e.g. average speed of all four wheels. It was a unique system which calculated custom equations, identified equation dependents, and prevented cyclical dependencies between equations. It did this by representing equations as nodes in a graph and keeping the graph in a direct acyclic state. Each time an equation was added it checked for dependencies [using a dfs-cycle check] and could be stored in a dynamodb table for teamwide usage.
Custom CMS Project
Quality Solar CentralFeb 2026 - May 2026
I built a custom CMS solution as part of contract work for a client. The frontend was designed with SEO optimisations in mind. It achieved 100 on Google's PageScore. The a backend was a webserver running Gunicorn and Python which took REST API calls to store to store entries using postgres. DNS routing and zone management were done our client's propriatery platform. The whole system was deployed on containers and updated through a github actions which uploaded the code and built it each time.
The biggest learning experience for me on this project was client management and team management. Setting correct expectations with clients and also managing internal team tasks and progress was a satisfying process.
Sumobot Competition Bot
UNSW Robotics SocietyJune 2024
Me and a group of four others built a robot designed to push other robots off a circular ring like Japanese sumo. The biggest challenge dealing with sensor noise and failures. Here I primarily wrote arduino code and tested for it's stability.
How I Edit Code
My choice of weapons when I edit code.
VIM/NEOVIM
I mostly use Neovim now with the addition of many plugins through LazyVim. I had an extension on vscode called VIM keybinds for ages, then a friend convinced me to go to neovim. Since then I've never went back. But when all else fails on a remote machine VIM is still king. I still have no clue how to use Nano other than to close it...
WEZTERM
Fast, cool, and configurable. I'll love this thing to the end. It's infinitely customisable as well. Just a touch of high ram usage may be my only complaint.
CLAUDE CODE
Goated AI helper tool. Great for debugging or generating MVP features. The increasing availability of MCP tools makes it better everyday.
