Howsit!Below is a haphazard collection of projects I have worked on over the years :)

Aug 2026

Pete's Forecast (v3) →

Another rebuild, aiming to preserve smooth scrolling through forecast lead times while improving initial load times and data accuracy. The site and forecast data are served through Cloudflare, with Modal handling data processing and Icechunk enabling efficient storage, versioning and incremental writes. Built through specs and iteration, alarmingly not a single line of code written by hand this time.

Oct 2025

Pete's Forecast (v2) + weather routing →

A ground-up rebuild of Pete's Forecast (v2) that introduced smooth scrolling through forecast lead times and integrated the latest iteration of my Xarray-based offshore weather-routing tools.

Jul 2025

A Data Science Platform Blog →

A blog post about building a data science ecosystem for heat and health research

May 2025

A Blog About A Data Harmonisation Tool →

A blog post about the above tool

Oct 2024

Pete's Forecast (v1) →

A website to view the latest GFS weather forecast, featuring beautiful windy-style streamlines. Built on top of the latest web mapping tools.

Oct 2024

A Data Harmonisation Tool →

An open-source tool to harmonize disparate datasets to a common ontology. Built using Streamlit and utilizing the latest RAG techniques to accelerate an otherwise tedious and time-consuming part of the ETL process.

Dec 2022

A Streamlit Web App Using The Weather Routing Package To Predict Finish Times In The Cape to Rio Race →

I used Streamlit to create a web app that predicts the finishing order of the Cape to Rio Yacht Race. The app relies on a series of serverless functions to first use Kerchunk for efficient access to the latest GFS weather forecast, then web scrapes the positions of each boat from the official tracker, and finally routes each boat individually to the finish. This allows users to better understand the current race rankings and visualize the upcoming weather conditions for each boat.

Nov 2022

A Pure Python Weather Routing Package →

Frustrated with the fact that most commercially available weather routing programs only accept GRIB files as input, I built a relatively lightweight Python weather routing tool that accepts any data accessible by Xarray.

Sep 2022

Accessing NetCDF and GRIB file collections as cloud-native virtual datasets using Kerchunk →

An article I wrote following my work as a Google Summer of Code contributor, working on the open-source Python package Kerchunk.

Apr 2022

Predicting Turtle Hatchling Strandings in the Western Cape →

I was approached by the Two Oceans Aquarium Foundation to analyze weather conditions during past turtle hatchling stranding events and investigate the feasibility of predicting such events.

Jan 2022

Master's Thesis →

A CMIP5 Model Selection Specific to South Africa's Winter Rainfall Zone.

Jan 2022

High Resolution WRF forecast →

This is an operational 1km WRF downscaling of the GFS forecast, run entirely from my personal computer and deployed as a Python widget.