Over the years I’ve worked on a variety of projects. Mostly for fun and as a way to learn new things, though some were part of work or study. This is just a selection but it gives a sense of the kinds of experiments and challenges I’ve enjoyed exploring.
Relevant skills: Vibe coding / AI pair programming
Description: I was unable to find a simple todo-and-calendar tool that quite fit what I wanted. I realised this was an opportunity to learn something new: vibe coding with Claude. What I learned most from this exercise? Think like an architect. AI is an excellent bricklayer, but a human still needs to design the building.
Relevant skills: PHP
Description: All teachers know the feeling when multiple students ask for help at the same time. I developed a simple website to allow my students to raise their hand and keep working while they wait. It was a good learning exercise too. I learned a lot about back end programming with PHP.
Relevant skills: Jupyter Notebook, Data Scraping, Visualization, pandas, NumPy, SQL, SKLearn
Description: The final project of the IBM Data Science course offered on Coursera is to predict if the first stage of the SpaceX Falcon 9 rocket will land successfully.
Relevant skills: Modelling and Simulation, 3D graphics, Godot Game Engine
Description: With a bachelor degree in Aerospace Engineering simulating the dynamics of the aircraft was a fun challenge. I also learned a lot about game development using the Godot Game Engine.
Relevant skills: Godot Game Engine
Description: Story telling is a great way to boost student engagement because it makes the content feel meaningful rather than abstract. In this game students to use the arctan (inverse tangent) function to defend the world from the imminent alien danger!
Relevant skills: Qt/C++
Description: I wrote this app in Qt/C++ to figure out where to put my couch! Fully customisable you can change the layout and add and remove your own furniture items. Perhaps it could come in handy for you too. Feel free to use it.
Relevant skills: Qt/C++
Description: Oware (aka Mancala) is a pretty intriguing game origination in West Africa. I created this simple implementation as a fun practice project while learning Qt/C++.
Relevant skills: Matlab, Visualization, Optimization
Description: While working as an airbag application engineer part of my job was to calibrate the airbag algorithm by tuning the parameters to the airbag deploys at the right time. In order to assist the calibration process I took the initiative to develop a toolbox in Matlab. The toolbox includes multiple functions to assist in investigating the effect of changing different parameters and also includes a simple optimisation algorithm which finds a set of parameters at a local optimum.
Relevant skills: Modelling, Simulation, Identification, Model Predictive Control, Optimization
Description: The Archimedes Wave Swing (AWS) is a wave-energy converter that generates electricity from irregular ocean waves. The control challenge is to maximize the energy produced while satisfying the constraints on the motion.