Pekas logo

Sailing logo for the Pekas-X team on the 51st Godo vela Regatta, 2024.
[pdf] [pdf with background]

Pati Catala pennant competition

Three entries for the pennant competition at the Club Patí Vela Barcelona.


Wearable interactive light design project, created in collaboration with Carolin Vogler, Eduardo M. Insua, María Isabel Cevallos, Nikoletta Theodoridi, Richard Santana, Ruben Oya, and Sara Montoya as part of the ProtoPixel hackathon “Hack the Light Up” 2019. Inspired by traditional Masai adornments, we created a piece of wearable art that transformed the wearers body into a canvas of lights that reacted to social media interactions related to the #llumBCN19 event.


A blog about motoGP data analysis and visualisation using different technologies, including python, matplotlib, seaborn, Tableau, and datawrapper.

Points of sail

Sailing speed on a boat depends on the wind speed and its direction in reference to the boat. A polar diagram is sometimes used to visualise the optimal points of sailing. So when I was playing a bit with the sailaway sailing simulator, I measured boat speed at different angles and wind strength and fitted a cubic polynomial on the measurements. This was then visualised using matplotlib and seaborn, in conjunction with the xkcd plotting style, to give it that handwriting feel.

Analysis of demographic data

An IPython notebook detailing the step by step analysis of nearly 10,000 birth and death records of Vall de Almonacid between 1612 and 1852. The data shows the economic boom of 1750 to 1770 (a marked increase in births), a sudden spike in number of deaths in January 1803, and the striking finding that August is, by far, the month with highest mortality of the year, specially among children.

Visualisation of demographic data

Dynamic visualisation of births recorded in Vall de Almonacid from 1638 to 1852 using D3.js. On clicking, the visualisation finds and highlights possible parents, children, and siblings.

Visualisation (better viewed in Chrome)
Code | Data (in csv)

Pixels falling

Visualisation effect project, where pixels are assigned physical properties (weight) depending on their colour properties and then they are individually displaced across the image. Code is written in MATLAB and can use a single frame or a live video as input.

MotoGP wins

Graph of accumulated MotoGP race wins, until May 2016, over time (all categories combined). Only racers with >40 wins are shown. Created with Tableau Desktop.

Data from

Op Art

Reproduction of Movement in Squares (1961) by Op art artist Bridget Riley scripted in MATLAB.

Accidental art

Colour coded displacement fields to show the deformation required to align two retinal fluorescein angiographic images. See overlap before and after registration. These MATLAB scripts were part of my PhD thesis. One of these images was awarded image of the month in the SINAPSE newsletter, Jan 2016 .

People heat maps

Production of heat maps to study human interactions in public spaces, in collaboration with Dr. Paul Gault for his publication “DiCER: A distributed consumer experience research method for use in public spaces“. The MATLAB script summarises a video of multiple hours to a single image where brighter (or redder) pixels values indicate more movement.


Experiments, in MATLAB, to create a deconstruction video effect for a video-art project with Emile Shemilt.

Vampire logo

For my PhD I developed VAMPIRE, a tool for semi-automated retinal analysis. Besides writing VAMPIRE’s code I also designed its logo using Gimp and Inkscape. The logo has been fully embraced by the VAMPIRE group in their tool, website, and beyond.