Hi, I'm Cosimo

Portrait photo showing Cosimo

I'm a full-stack software developer and AI engineer. I develop software in several different languages, mostly for web application backends but I've also worked with C++ desktop applications.

Recently, I've moved more towards data science and machine learning by completing an AI for Biomedicine and Healthcare MSc at UCL.

Follow me on any of the platforms linked below!


My work

MSc project: Deep Learning for automated perfusion deficiency detection in patients at risk of stroke

For my final AI for Biomedicine and Healthcare MSc project, I created a neural network for automatically analysing ASL MRI scans. This type of MRI produces images showing blood flow in a patient's brain. In patients with carotid stenosis, a significant impairment in blood flow can indicate a high risk of stroke. Therefore, the project's goal was to automatically assign a rating to each brain region in an ASL scan to measure the "blood flow quality" within that region, which could then be used to choose the best treatment for a patient.

The classifier was implemented as a CNN using Tensorflow. Its final AUC was high at 0.85, but analysis of saliency maps showed that most patterns used for classification were spurious. This was largely due to the extremely small size of the dataset (only 50 patients), but the same approach could have worked with a larger dataset.

Web development and DevOps at STFC

I spent several years as a software engineer at STFC, as part of the Computing group for the ISIS neutron source. My work focused on the web applications and services used to coordinate experiments and operations at the accelerator. Together with the rest of the team, I was responsible for developing and maintaining a wide range of applications written in several languages (mostly Java, C# and TypeScript). I also maintained and improved the platform used to run these services, implementing a new Kubernetes-based infrastructure and workflow for hosting them in containers. As one of the longest-serving team members, I also supervised and inducted more junior staff in the team.

BSc project: Creating a graphics engine from scratch

For my final Computer Science BSc project, I created a 3D graphics engine. It was a strange combination of a realtime game engine and a raytracing library. It provided methods to set up a 3D scene either by generating primitives or by importing an OBJ file. The scene could then be rendered using a realtime OpenGL-based renderer or a photorealistic raytracer.

The engine was written in C++, using no external libraries aside from OpenGL and its glue code.

Sample image rendered with the raytracer
Project repo