Home
Projects
Articles
CV
A rail-launched glider with a data recorder for measuring flight characteristics. The project used computer-aided manufacturing methods to meet the low-weight requirements through a 3D printed wing built on an aerodynamic profile.
The autonomous turret was a vehicle which could navigate to the middle of an arena and fire infrared signals at targets positioned at distance, with an acrylic body and custom circuity.
An autonomous vehicle to detect and mark landmines in a finite area, using Hall effect and ultrasonic sensors to detect mines and walls respectively.
A website for hosting web components, CSS and raw Javascript for reuse and reference.
Python server with FastAPI and a Vue.js frontend served with Nginx for accessing machine learning models through a RESTful API. The service was built using Dockerfiles.
The matchbox robot is a miniature robot controlled remotely over infrared via an STM32 microcontroller. It's built with an extreme design consideration, and to sort marbles by colour in an arena.
Nemean CMS is a headless CMS for managing the content, media and contact forms of content-based websites. It's a monolithic Laravel application with a Vue.js frontend, bridged with Inertia.js.
The SCARA robot was a fully autonomous robotic arm for grabbing, identifying and sorting coloured cubes on a rotating conveyor, programmed using RosPy for kinematics and OpenCV for vision.
Seedlings is an online mental health SaaS aimed at children during the COVID-19 pandemic. It features a Vue frontend and Laravel backend bridged by Inertia.
This project developed an image generator model for the ADNI brain dataset using a vector-quantised variational autoencoder. The VQVAE model learned the latent representation of a training phase, and the images were generated using a deep convolutional generative adversarial network.
I've built multiple portfolio sites using different technologies. My current portfolio is built using Astro, a static site generator with vanilla javascript. My previous portfolio was built using Vue and Inertia with a Laravel backend.