Scientist turned data leader from Derry. I build things with computers and read a lot of books.
Background
Astrophysics PhD from Queen's University Belfast, 2022. After that I built image recognition software as a Research Fellow at Randox Laboratories.
Now I'm Head of Data at Nexus Brands Group, building data systems and analytics across 18 businesses in the beauty, tattoo, and pet grooming industries.
Research
My PhD was on nanoflares — tiny explosions on the sun, about a billionth the energy of a normal flare. Individually nothing, but hundreds might be going off every second across a star's surface. Collectively they could explain why the sun's atmosphere is millions of degrees hotter than its surface.
nanoflare signal
signal + noise
intensity distribution
Exaggerated for clarity — real nanoflares are far smaller relative to the noise. Each has a sharp impulsive rise then a slow exponential decay. Bury them in noise and individual events vanish, but the asymmetry survives statistically, pulling the median negative relative to the mean. That offset was the basis for the detection method in my PhD.
You can't see them directly, so I built simulations and statistical models to pull their signals out of noisy data. I later adapted those techniques for biomedical imaging at Randox — turns out finding faint signals in noise is basically the same problem regardless of what you're pointing the detector at.
The open question behind all of it: the Sun's surface is ~5,800 K, but its corona is over a million. Nanoflares might be why. So — a game. Heat the corona yourself.
I built Pascal, an iOS app that tracks barometric pressure to predict weather changes. It uses on-device machine learning that learns your local patterns — no cloud, no internet required.
I also built Nyquist, a real-time audio spectrum analyser for macOS. Metal-rendered, captures system audio from any app — mostly an excuse to watch music.
Beyond my own projects, I help out on My Perfect Console, the podcast where each guest builds their dream console from five games. I joined an existing team who built the site and its API, and my part has been three things. First, transcripts: a pipeline that runs entirely on my own machine, turning every public episode into a speaker-labelled, chaptered transcript. It uses Whisper for the words and pyannote to tell the voices apart, checks Whisper against a second speech engine so it can't hallucinate words over the music, and pulls each guest's five picks and console name out of the audio. Every line is searchable across the whole archive, and you can jump straight to the moment someone says it.
Second, a redesign of the front end: a page for every game and console, mobile layouts, one search over everything, and a prerendered page per episode so link previews and search engines see real titles instead of a blank shell. Third, the data side: a Numbers page counting the programme (most-picked games, where the guests come from, who holds the records).
When I'm not coding I'm reading — enough that I built Ex Libris to keep track of the shelves. Scan a barcode with your phone and the book's catalogued, cover and all; scan one in a bookshop and it tells you whether you already own it. It's open source and runs as a single Docker container, so you can host your own. Mine is my library, and here's what I've finished most recently: