About me

I've been writing code since I was 14 — started with Java, purely for the love of it, with zero intention of making money from it. Some of my best memories are from the early Android modding days on XDA, porting ROMs and writing custom kernels with a community of people who taught me how to program.

I try my best to give back to the open source community that taught me everything. I believe science and software should be accessible to anyone who shares the enthusiasm, not locked behind paywalls or institutions.

On-Device Gaze & Pupillometry

Real-time & Offline Analysis — Demo

Running entirely on-device · no server · no wearable hardware

Research & AI Projects

9 projects
Research · Android

On-Device Gaze & Pupillometry — Real-time & Offline Analysis

Full on-device eye tracking pipeline running entirely from the front camera — no server, no wearable hardware. Re-engineered 6DRepNet on a mobile-optimised RepNeXt-M4 backbone, then ported the 3DeepVOG 3D eye geometry pipeline to Kotlin with GPU-accelerated TFLite.

3.91°MAE on AFLW2000
13.8MParameters
~32%Smaller than RepVGG-B1
  • Outperforms both 6DRepNet baselines (RepVGG-B1 4.05°, ResNet50 3.97°) with fewer parameters
  • Full 3D eye geometry reimplemented in Kotlin; neural components exported to GPU-accelerated TFLite
  • Parity test harness caught a geometric sign bug, collapsing gaze error from 73° to ~1e-4°
Research · Machine vision

RayNet — Multi-Task Gaze, Landmark & Pupillometry

Lightweight multi-task network predicting 3D gaze, iris/pupil landmarks, and metric pupil diameter from a single normalised eye image using a RepNeXt + PANet architecture.

  • Optical axis prediction with calibratable kappa handling; sub-pixel landmark regression via heatmaps + soft-argmax
  • Resolves adversarial multi-task dynamics with gradient-isolated head-pose backbone (6D rotation + 3D translation)
  • Production-level dataset pipelines built with MosaicML on Databricks
Research · Machine vision

COVID-19 Detection & Content-Based Image Retrieval

CT scan-based COVID-19 detection using transfer learning on VGG16, combined with a CBIR system that achieves high accuracy using only 18% of features via chi² selection.

  • U-Net lung segmentation with CLAHE enhancement and Hounsfield adjustment
  • CBIR system achieving high accuracy using only 18% of original features
Research · Biomedical

IMU Chair Stand Test Biomedical Toolkit

Android app + MATLAB pipeline for clinical chair stand test analysis using IMU sensor fusion.

  • 100Hz+ sensor sampling via low-level Android API
  • Kalman filter-based sensor fusion and quaternion-based world coordinate rotation
  • Algorithm for removal of gravity vestiges from raw acceleration signal
Research · C++

OpenFace Real-Time Extension

Extended OpenFace to stream real-time head pose and gaze vectors via WebSocket, enabling integration with external systems without modifying the core library.

Research · Audio

Audio Source Separation in Music

Vocal extraction model using bidirectional LSTM with STFT processing and mask-based source separation. Data augmentation addressed the scarcity of labelled open-source music datasets.

Research · Data Science

Process Mining for Emergency Department Optimization

Università degli Studi di Milano

Applied process mining to real ED event logs to discover, analyse, and redesign patient care pathways — combining multi-objective model selection with patient clustering to surface actionable, cluster-specific recommendations.

  • Pareto-based multi-objective optimisation across 27 process model configurations (Inductive, Heuristics, Alpha Miner), selecting the best model at F1 = 0.933 and generalisation = 0.974
  • K-Medoids clustering with Hamming distance on 12-dimensional binary clinical profiles reduced the variant space by 76% (1,000+ → 238 patterns), enabling cluster-specific process redesign
Research · ML

Decision Trees ML Library

scikit-learn-compatible implementation of ID3, CART, and C4.5 decision tree algorithms, plus a RandomForest built from scratch with Bayesian hyperparameter tuning and multi-threading.

Professional Work

3 roles
Full Stack Developer July 2022 – Present · Milan, Italy
Math&Sport
Mobile & Web Platform
  • Real-time football tracking visualization at 60fps with interpolation algorithms
  • Cross-platform app for football analysis and player clustering; WebCodecs API for MP4/WebM export
  • Lightweight temporal models for trajectory prediction in-browser via WebGPU acceleration
  • Football analysis workspace integrated with LLMs using MCP servers (OpenRouter, OpenAI)
Backend & Infrastructure
  • Secure WebSocket server with custom RSA/AES handshaking protocol and key rotation
  • Security assessments identifying DDoS/MITM vulnerabilities; on-site server maintenance
AI/ML
  • Football tracking/event data pipeline using MosaicML for production-level temporal model training
  • Trajectory prediction models and tokenisation of football actions for LLM analysis
  • Inverse Reinforcement Learning (IRL) for detection of explainable football tactics
React NativeReact.jsD3.js WebGPUNode.jsKubernetes AWSPyTorchMosaicML xLSTMGraph Neural Networks
Frontend Developer Feb 2020 – Jun 2021 · London, UK (Remote)
Elay Automation Limited
  • Business automation tools and CRM integration with server-side rendering
  • Customisable recruitment chatbots and a React.js rich-text editor library
React.jsTypeScriptSSR
GitHub
CTO & Full Stack Developer Jul 2017 – Sep 2019
Diaco Studios
IoT Real-Time Monitoring
  • Express.js/MongoDB backend for complex sensor queries; Arduino microcontrollers with custom drivers (CO2, smoke, humidity)
  • Android app for real-time sensor data visualisation via WebSocket
Mobile Applications
  • Cross-platform medical app with Android native module for Google Maps pathfinding
  • Film festival app with live streaming via NGINX RTMP/FFMPEG and MPEG-DASH playback [GitHub]
  • Cross-platform trivia quiz app for real-time competitions [GitHub]
Backend & Infrastructure
  • Live streaming microservice with NGINX RTMP authentication and FFMPEG encoding
  • Ported an Android messenger app to desktop (Java) for deployment of containerised bots
React NativeNode.jsMongoDB ArduinoC/C++Docker NGINX RTMPMPEG-DASH

Systems & Infrastructure

3 projects
Systems · IaC

IaC Provisioning of MooseFS + Web File Manager

Fully automated 4-node MooseFS distributed storage cluster on bare-metal KVM using Terraform/Libvirt and cloud-init — no public cloud dependency.

  • Deterministic, version-controlled deployment with cloud-init hostname/IP/service bootstrapping
  • Microservice-based web file manager: stateless FastAPI backend + React.js frontend
Systems · K8s

Distributed Storage in Bare-Metal Kubernetes

Bare-metal Kubernetes cluster with automated VM provisioning via Terraform/Libvirt, Longhorn distributed storage, and MongoDB replicaset for high availability.

Game Dev · Networking

Meckz — Online Multiplayer Game Netcode

Real-time multiplayer netcode for a Unity3D game, built in Go with Reliable UDP, dead reckoning for lag compensation, and NAT hole punching for peer-to-peer connections.

  • Binary game-state encoding with Flatbuffers for minimal packet size
  • NAT hole punching to bypass routers without port forwarding

Early Career

2012
Android · ROM Dev

HTC Sense 2.1 Port

Cross-manufacturer ROM port from HTC Hero to Samsung Galaxy Gio. One of the earlier community contributions to Android custom ROM development.

Android · Kernel

Custom Kernel — Undervolting Mechanism

Advanced undervolting kernel for battery optimisation, compatible with CM7, AOSP, and Stock ROMs.