Howsit!Below is a haphazard collection of projects I have worked on over the years :)
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 2025Pete'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 2025A Data Science Platform Blog →
A blog post about building a data science ecosystem for heat and health research
May 2025A Blog About A Data Harmonisation Tool →
A blog post about the above tool
Oct 2024Pete'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 2024A 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 2022A 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 2022A 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 2022Accessing 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 2022Predicting 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 2022Master's Thesis →
A CMIP5 Model Selection Specific to South Africa's Winter Rainfall Zone.
Jan 2022High 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.
