

I’m an ML Research Engineer with a background in Applied AI, Computer Science, and Genetics.
I recently completed a 12-week batch at the Recurse Center, honing my craft and making cool shit. I focused on performance browser graphics, on-device LLMs, learning Rust, and building command-line tools.
Things to check out: projects, essays, book reviews.
- In 2022, I co-founded an AI company called Bountyful, backed by EF. We developed an MLOps platform for Generative AI: Enabling companies to observe, own, and optimise foundation models via user feedback and knowledge distillation.
- Previously, I worked in a variety of ML and Data Engineer roles, whilst moonlighting as a self-taught quant.
- My academic research has involved Biomedical AI, Differential Privacy, and Generative Models.
- For my MSc in Artificial Intelligence, my thesis examined methods for synthesising privatised (healthcare) data using generative models like GANs, autoencoders, and denoising diffusion models. I developed TableDiffusion, the first differentially-private diffusion model for tabular data synthesis.
- I’ve also applied ML to Quantified-Self projects and used Genetic Programming to evolve automated dosing models for the anticoagulant drug Warfarin.
- I was co-founder and co-host of the Bit of a Tangent podcast with my long-time friend Jared.
Projects
Highlights
TableDiffusion
A deep learning algorithm I developed for training diffusion models on tabular data under differential privacy guarantees.
Quantified Sleep
This project applied statistical learning techniques to an observational Quantified-Self (QS) study to build a descriptive model of sleep quality. A total of 472 days of my sleep data was collected with an Oura ring. This was combined with a variety of lifestyle, environmental, and psychological data, harvested from multiple sensors and manual logs.
Watch and learn
Winning EF’s Bio x AI hackathon with a multimodal LLM for lab protocol automation.
AImong Us: a reverse Turing Test game
Can you outwit a gang of LLMs?
Recent
Music Melee: a high-speed parkour FPS for making beautiful sounds
Embracing the exponentials and vibecoding an entire 3D game in a few days with Aider, o3-mini, and Claude 3.7 sonnet.
DevLog: orbital mechanics game in your browser
The development stories and roadmap for Orbital, my physics-based 3D simulator for realistic orbital maneuvers that runs in your browser with WebGL and Three.js.
Salvador DALL-E: Falling for Svelte and serverless shennanigans
How I learned Svelte and outsmarted Vercel to make a delightful frontend to OpenAI’s DALL-E … just for my mom.
Streams of beautiful riches
Enter richify.py: a real-time Markdown rendering tool that supports streaming input. Built with Rich and shipped effortlessly with uv.
What I made at the Recurse Center
Links to the projects, games, blog posts, and tools I shipped in my 12 weeks at RC.
DevLog: llmpossible
How I built a command-line LLM on Apple Silicon for RC’s ‘Impossible Stuff Day’
Raytracing from scratch in pure JS
A dynamic realtime raytracer in pure JavaScript you can run in your browser.
FOMO: LLM embeddings to keep up with AI
An open source newsreader app I built using LLM embeddings to semantically prioritise arXiv and Github updates.
Building PorePatrol LLM at the Anthropic Hackathon
We used LLaVA and Claude to build a crazy multimodal LLM health assistant. OpenAI made it redundant the next week.
Learning quant. trading with ML on Numerai
Making 95% annual return on the hardest data science tournament in the world, for fun and profit.
Generative models for synthesising private datasets
My MSc thesis and what it aims to do for biomedical science.
Reviewing my 2020 predictions
How I almost outsmarted 3 pro forecasters using Bayes rule.
Gianluca's Predictions for 2020
Trying to out-forecast Vox in 2020. What could go wrong?
My older projects
A selection of my older projects (pre ~2019) transferred from an old website for posterity.