
· Playable preview
A botanical card game of matching, rearranging, and outthinking Garden AI. Collect six-card Full Blooms, organize your hand, and choose your challenge.
Play Bloomline →
Choose a chapter to turn through the book in order. Viewing Projects. Keyboard and reduced-motion navigation switch directly.
Software · Data · Creative experiments
Things I’ve built, explored and shared. Browse the complete collection, from current work to the original published experiments.
Published projects are ordered newest first, using their original publication dates.
2026 / Current work

· Playable preview
A botanical card game of matching, rearranging, and outthinking Garden AI. Collect six-card Full Blooms, organize your hand, and choose your challenge.
Play Bloomline →
In development
A disc-golf practice product in development, shown here with its original concept artwork.
Ask about the product work →The published collection
Supervised UMAP embeddings across Python and R.

Hawaiian terrain, moisture, solar radiation and ocean-depth visualizations, balancing interactive ambitions with hosting constraints.
Interactive 3D maps exceeded the hosting plan’s memory. Rendered flybys retained the terrain experience while I iterated on overlays, camera movement and timing.
Read the original project ↗A mobile-oriented Shiny application combining image filters, visualization and interfaces across languages.

Training visual styles for skiing and snowboarding footage, using Logan Engstrom’s fast-style-transfer implementation.

Original
TransformedI selected the style images, wrote a SLURM batch-training script, trained models on an HPC system, and selected outputs for the video. The original write-up describes training 50 models and choosing 20. This comparison uses the original article figure; it does not run a model in your browser.
Web scraping Google Sheets using browser automation with RSelenium.

Ten approaches for choosing a useful number of clusters in a dataset.

Accessing Fitbit API data and exploring the gamification of personal training.

Three approaches to highlighting regions of interest in 3D brain images.

Transcriptome Assembly and Annotation.

This package provides a number of ggplot2 themes inspired by vaporwave, both a subgenre of electronic music and an art movement.

How to Choose the Best Open Source Software

Playing around with the axis display in ggplot2

Gold Standard workflow for setting up a new data science project directory and file naming

In this series I will set out to recreate some of the visualization from the book “Knowledge is Beautiful” by David McCandless in R.

Using the TwitteR package and web-scraping the FWT website for better insights

Techniques for the analysis of gene set enrichments, pathway analysis, gene ontologies, functional analysis of metabolomic profiling and coexpression networks

Dates come from the original project entries, rather than the website’s later rebuild date.
These projects show how I approach software, data and interfaces. If you have a problem worth exploring, let’s talk.
Explore the consulting engagements ↗