Open Source Projects

Software projects spanning compilers and type systems, scientific computing, distributed systems, and functional programming.

Recent

WireCat

Exploration of multi-level effect systems as a way to support AI-assisted software development. A compiler plugin, library, CLI, and viewer for writing typed wiring diagrams as executable Haskell: one definition either runs as code or renders as an interactive graph, separating high-level views from low-level implementation. Submitted to ZuriHac 2026.

Haskell GHC Plugin Category Theory React

Micro-Macro

Interactive explorer for microscopic Markov processes and the dynamics they induce on macroscopic observables. Build a process in the graph editor and watch how coarse-graining changes what the system looks like, with matrix and heatmap views throughout. Runs entirely in the browser, and comes with a tutorial on hidden Markov chains.

Rust WebAssembly Markov Processes

Scientific Computing

LineageFlow

Toolkit built during my PhD for reproducible spatio-temporal cell lineage analysis: many algorithms behind a single declarative interface, with 3D+time visualisation of results.

Haskell Scientific Computing Nix

CSDC DAO

Full-stack platform for decentralized research collaboration. Experiment in academic self-organization with democratic governance: hierarchical organizational units including forums and elections.

Haskell Web PostgreSQL IPFS Docker

GNUHealth Nix Docker

Docker deployment for GNUHealth medical information systems. Simplifies deployment using Nix reproducibility and containerization.

Docker Nix Healthcare

Haskell Libraries

constraint-classes

Library addressing type class limitations using ConstraintKinds. Enables flexible abstractions while preserving type inference.

Haskell

reflex-elm

Elm-inspired development model for Haskell web applications. Combines Reflex reactive programming with Elm architecture.

Haskell Web

LATS

Linear Algebra in Typed Space. Experiment replacing typed dimensions with typed linear spaces.

Haskell