This webpage gives short introductions and links to all of the projects in my portfolio. If you are interested in contributing to a project or if you have questions / suggestions about a project please reach out to me on LinkedIn.
In September 2025, I released version 0.26.0 of hiveplotlib, the culmination of a major rewrite of the user-facing API. The centerpiece is a new HivePlot class built on top of pandas-compatible NodeCollection and Edges data structures. This lets users drive node and edge styling (color, size, transparency) directly from their data, with hover information in the supported interactive backends (Bokeh, Plotly, and Holoviews). The new API also supports axis partitioning, sorting, rotation, reordering, and collapsing, all as simple method calls on the HivePlot object. See the release announcement and migration guide for an overview, the gallery for examples of the new API in action, or the full changelog.
I worked on a research project at Geometric Data Analytics exploring using Topological Feature Tracking to track eddies in ocean vector fields. The paper was published in Geophysical Research Letters.
I led a research project at Geometric Data Analytics exploring a Topological Data Analysis-inspired signal compression method. In our paper, we discuss some of the theoretical benefits of running our algorithm on IoT devices, plus we look into the effectiveness of our algorithm in training machine learning models on increasingly-compressed data. I presented this paper at the 2023 IEEE Aerospace Conference, where we received the Best Paper award for the Remote Sensing Track (out of 25 papers). The paper is also available on arXiv.
For anyone curious to out Topological Signal Compression (TSC), we packaged up the compression algorithm for Python users on PyPI. We also have documentation including demos covering the theoretical background in more detail as well as examples of compression with the Free-Spoken Digit Dataset and a snippet of Chopin.
I developed an extension of the Parallel Coordinates Plot (PCP) into polar coordinate space, incorporating ideas from Hive Plot network visualizations. By arranging axes radially, the P2CP has the unique ability to represent 3-dimensional data on a 2D surface and enables new ways of visualizing correlations. The paper is available on arXiv, and the technique is implemented with examples in Hiveplotlib.

Introducing hiveplotlib— a new, open-source Python package for generating Hive Plots. Originally developed by Martin Krzywinski, Hive Plots generate well-defined figures that allow for interpretable, visual explorations of network data. The hiveplotlib repository is visible to all on Gitlab, with documentation including further explanation of Hive Plots, examples (both toy data and real data), and full documentation of the code. See my publication on Towards Data Science for more.
Working at Geometric Data Analytics, a company full of Topologists, I have routinely needed to write and interpret tools from Topological Data Analysis (TDA). TDA lives in the world of algebraic topology, a blending of Abstract Algebra and Topology concepts from mathematics. Abstract Algebra was never my strong suit, nor have I ever taken a formal topology class, so I created the following non-mathy explanations and examples for one of the tools that I frequently use, persistent homology. See my publication on Towards Data Science for more.
I wrote a batch file to run Python and R code that downloads and parses U.S. Treasury auctions data. The resulting datasets offer more detail than other freely available resources. I walk through the implementation of the code and then demonstrate some of the richness of the data through a brief exploratory data analysis using 2-year note auctions. See https://gjkoplik.github.io/get_treasury_data/ for more.
I go through the math and implementation of Normalized Cross Correlation for object detection with a toy example. See https://gjkoplik.github.io/normalized_cross_correlation/ for more.
I go through the theory of K-means and Spectral Clustering and include examples of their varying performance. See https://gjkoplik.github.io/spectral_clustering/ for more.
I created a county-level Index of Well-Being using data on obesity, poverty, unemployment, and high-school graduation rates. See https://gjkoplik.github.io/Index-of-Well-Being/ for more. This interactive map assigns equal weights to each of these four variables, but I allow the user to change the weights on these variables with this R Shiny app.
\(_\blacksquare\)