Hi, I'm Patrick.

Data scientist, builder, and a person with a lot of interests.

Languages, fight statistics, synthesizers, the way my own brain works. Everything here started as one of those.

See the work

Projects

8 of them. Each page starts with a short version, then goes into how it works.

All projects
Two Linglow phone screens. On the left, a sentence from Alice in Wonderland shown in English and then in French, every word inside a coloured pill for its grammatical role, with the audio player at the bottom reading 2 / 249. On the right, the card that opens when you tap a word: FRENCH, verb, commençait, then ENGLISH, began, then the definition 'The starting point or the early part.'
Build

Linglow

A language app for reading real books (Dracula, Alice in Wonderland) in nine languages including Irish. Every word is tappable, grammar shows as colour, the audio stays in sync.

Forest plot of four ratio-scale effects on a log axis, each a point estimate with its 95% interval. Within-fight KO hazard at 1.38 [1.32, 1.44], damage carried into the UFC at 1.22 [1.15, 1.29] and the recurrent-KO clock at 1.11 [1.04, 1.19] all clear the null of 1, in blue; head KO versus ground TKO sits on it at 0.98 [0.82, 1.18], in grey.
Data

Cumulative Head Trauma in MMA

Does absorbing head strikes wear a fighter down, separately from ageing, selection, and the sport itself changing? A ten-study programme on 17,434 fighter-fights and 2,708 fighters, 1994–2026. It grew out of my 2023 masters project, which proposed the question as future work.

The Octagon IQ landing page: the brain logo and OCTAGON-IQ wordmark over a dark arena, a cage radar drawn on the left and yellow and blue ridgelines on the right, four stat panels comparing Joshua Van and Alexandre Pantoja ahead of UFC 331, and links to upcoming fights, fighters, records and rankings along the bottom.
Build

Octagon IQ

The thesis data kept growing. Octagon IQ is where it ended up: a fight prediction model, a live site, and an audit that found five critical defects in my own features.

A line chart of the Fuel dial across 23 weeks of 2026. The line falls from 100 to 12 by W16 in mid-April, which is marked, bottoms out at 0 in the shaded crash weeks W18–W19, and recovers to 60 over the two shaded weeks away.
Data

Burnout Tracker

A burnout model built only from git commit timestamps: speed, revs, coolant, fuel. It's calibrated against one real burnout, in-sample, and the write-up is honest about that.

A dot plot of the mean rating by MCU phase, across 37 films. Each pale dot is one film and the bar is the phase mean, on a 0-100 scale: Phase 1 scores 74.3, Phase 2 76.1, Phase 3 79.0, Phase 4 72.9, Phase 5 67.7, and Phase 6 73.4 from a single film. Phase 3 is the highest, and the per-film dots keep the small sample sizes visible.
Data

Marvel by Phase

The MCU split into its phases and measured: budgets, box office, critic and audience scores, release cadence. Which phase was the golden age, which actors and writers made the studio the most money, and where the critics and the audience stopped agreeing.

A centre crop of one JamCam frame at the camera's real 352 by 288 pixels, scaled up so the pixels stay visible. Trafalgar Square at night under the station's debug overlay: hand-drawn rectangles name the typed road, footpath and crossing zones, and direction arrows sit on several of them.
Experiment

City Lifeline

A generative radio station played by a London traffic camera. Computer vision watches a TfL JamCam and drives a C++ synth. It played for 245 hours, and 243 of its 3,323 chord changes came from the traffic. The other 3,080 came from a timer that stops it repeating itself.

Two ADHD Kit phone screens side by side. On the left, the Plan-Kit blocks step, headed 'Roughly when?', with a task placed under Morning and three unplaced tasks in a tray at the bottom. On the right, the Home screen with the Bad day switch turned on, the note 'Only what's already on today. Ends at midnight.', and a yellow button reading 'Run my floor'.
Build

ADHD Kit

A planning app for neurodivergent brains: just a more helpful way to keep your day on track. Its Bad Day mode shrinks the day down to what's possible rather than nagging about what isn't.

The Pariki synth page, dark themed: two oscillator rows with tune knobs and octave switches, a drone section, a mixer column, a ladder filter and a drone filter in teal and violet, and a row of six large yellow envelope knobs across the middle.
Build

Pariki

A drum synth in the Moog DFAM tradition, in C++ with JUCE. It addresses the hardware's best-known complaints, and FFT tests measure its aliasing suppressed by about 23 dB against a naive oscillator.

About

I'm a developer, data scientist and analyst from Ireland. I'm Venezuelan and Irish, and I've lived in China for five years, Japan for two and Thailand for six months.

When I was younger I thought what I loved was music. Later I realised it was creativity, and music was the first place I found it. Most of what I build starts as something I want for myself: an app to read Irish, a planner that works on bad days, a synth that fixes what annoys me about a real one.

I trained in statistics and spent my masters on mixed martial arts data, which turned into a much longer project than I planned. I like the point where a question turns into a tool, and I like finding out afterwards how much of what I believed was actually in the data.

Things I'm into

  • Language learning (Japanese and Irish at the moment)
  • Statistics, especially when the answer is "less than you'd think"
  • Building small products end to end
  • Synthesizers, real and software
  • How neurodivergent brains plan, and how tools could help

Toolbox

Data

  • Python
  • R
  • pandas
  • statsmodels
  • scikit-learn
  • survival analysis
  • causal designs

Building

  • TypeScript
  • Bun
  • Hono
  • Expo / React Native
  • Astro
  • SQLite
  • PostgreSQL

Sound

  • C++
  • JUCE
  • DSP

Languages

  • 日本語
  • Gaeilge
  • Español

Get in touch

I'm interested in data roles, collaborations, and odd problems. Email is best.