Hi

I’m Chris, and this is my spot on the web.

I’m a front-end web developer with an interest in visualization and 3D rendering, and a more recent obsession with data liberation, decentralized protocols, and self-hosting.

Hopefully you will find something of interest here, and learn something along with me.

What tools do I use?

Today I most often work in Java/Typescript, HTML+CSS, React, and D3.

In my travels I’ve touched on the following technologies:

  • Mapbox, Leaflet, OpenLayers, gis, geojson
  • Nextjs, Astro
  • Docker + Compose, Kubernetes
  • Java, C++, Go
  • REST, GraphQL
  • HPC, MPI, parallel computing

Who am I?

I’m a software developer who’s worked primarily in enterprise front-end (client-side) web development for the past decade. My guiding principle is to produce systems that serve a humane purpose, and hopefully learn/teach something along the way.

My day-to-day work in recent years has been mainly based in React and Typescript. However my true interests primarily involve data visualization and 3D rendering.

I have previously worked on general purpose visualization libraries, that provided APIs for developers (similar to D3) and higher level languages for visualization designers (similar to Vega, and based on The Grammar of Graphics).

I have worked in the telecom space where I was exposed to the functional language Clojure and worked heavily on visualizing physical and virtual communications infrastructure via network/graph layouts.

In more recent years I’ve stepped into technical and team leadership roles, working with the next generations of developers, analysing the impact of new technologies on existing infrastructure, and learning some important lessons about building team cohesion and trust.

Why have I created this site?

As of 2024 it’s been many years since I’ve properly updated this site. I want this space to serve two main purposes:

  1. be a sandbox to explore the topics and technologies that catch my interest
  2. pass along to others what I’ve learned, and frankly try to “toot my own horn”, since I have a tendency to downplay my own abilities