Hey, I'm Josh. I'm interested in AI, technical AI safety, biomedical computing, MRI, computer programming, teaching and magic. I'm a curious and driven person who enjoys being immersed in difficult problems. When I'm not working or teaching I enjoy reading, surfing, hiking and swimming. I consider myself empathetic and a good listener.

I'm always looking to learn new things and meet new people.

Some of my work:

MSc thesis

My master's was at the intersection of computer science and healthcare. My thesis was on cardiac MRI segmentation, with a particular focus on figuring out how much data we need to train viable segmentation networks. Click here for a copy of my thesis.

Mathigon / Amplify Education

I worked at Mathigon (now Amplify Education) as a fullstack engineer. I've worked extensively on the Polypad, a tool for making maths education more playful and interactive. My biggest contribution has been implementing the real-time collaboration functionality.

Recurse Center

In 2024 I spent 3 months at the Recurse Center. I worked on a variety of different projects, but feel most fortunate to have met and worked with some truly awesome people. Relationships are the most important things in life and I feel lucky to have made some great friends at RC.

Final undergraduate project

My project was focused on image segmentation for use in training semantic segmentation neural networks, ultimately for use in self-driving cars. I took two approaches. First, a purely heuristic approach (written in Matlab), which leveraged LiDAR data to form hierarchical depth clusters, from which objects of interest could be segmented. This approach was extended to incorporate a GUI. Second, a neural network approach (using Tensorflow) which first identified coarse bounding boxes around objects of interest and then refined the bounding boxes by hierarchical clustering of LiDAR data.Click here for a copy of my project.

Compressive Sensing (CS)

As part of my 4th year Digital Signal Processing course I elected to do self-proposed topic in Compressive Sensing (CS) - a means of allowing for sub-Nyquist sampling to effectively be performed. I took a mostly investigative approach, attempting to understand and implement CS. I implemented sub-Nyquist reconstruction in Python and MATLAB.Click here for a copy of my project.

Juggling counter

I like juggling. I wanted to make a program that counts the number of throws (and by implication catches) for me. Most approaches either use (a) a predefined ball colour (e.g. green) which is then filtered out from the rest of the image for tracking, or (b) a preset number of balls.

By using background image subtraction I was able to implement an approach that can count any number of balls of any colour. Sweet :)

CV

Click here for a copy of my CV.

Let's talk