Projects
Things I’ve made trying to put my dent in the universe.
Many of them are open-source, so if you see something that piques your interest, check out the code and contribute.
The ones I’m most proud of.
I’ve worked on tons of little projects over the years but these are the ones that I’m most proud of. Many of them are open-source, so if you see something that piques your interest, check out the code and contribute if you have ideas for how it can be improved.
A delightful RFC browser with enhanced typography, relationship visualization, and personal notes. Navigate the web of IETF standards with ease.
On this site 02 GHC Memory Layout VisualizerInteractive tool to visualize how GHC represents Haskell data types in memory, with heap layouts and card tables.
On this site 03 Temporal.io Haskell ClientHaskell support for durable execution in the face of failure.
GitHub 04 Haskell OpenTelemetry SDKI am the primary author of the Haskell OpenTelemetry SDK and the maintainer of the Haskell OpenTelemetry ecosystem.
GitHub 05 HStateDependently typed state machines in Haskell.
GitHub
Packages
79 open source Haskell packages published to Hackage.
| Package | Description | Version | Updated |
|---|---|---|---|
| hs-opentelemetry-instrumentation-tasty | OpenTelemetry instrumentation for the Tasty test framework | 1.0.0.1 | 13.10.2026 |
| thread-utils-context | Garbage-collected thread local storage | 0.4.1.1 | 03.09.2026 |
| wireform-core | Shared FFI primitives for wireform format packages | 0.2.0.1 | 16.07.2026 |
| wireform-proto | Protocol Buffers (proto2/proto3) with IDL parser, code generation, JSON mapping | 0.2.0.0 | 16.07.2026 |
| wireform-derive | Annotation-driven Template Haskell deriver core for wireform | 0.2.0.0 | 16.07.2026 |
| hs-opentelemetry-instrumentation-hw-kafka-client | OpenTelemetry instrumentation for hw-kafka-client | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-gogol | OpenTelemetry instrumentation for the Gogol Google Cloud SDK | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-amazonka | OpenTelemetry instrumentation for the Amazonka AWS SDK | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-monad-logger | Bridge monad-logger to OpenTelemetry Logs | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-co-log | Bridge co-log to OpenTelemetry Logs | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-katip | Bridge Katip structured logging to OpenTelemetry Logs | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-hspec | OpenTelemetry instrumentation for Hspec test suites | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-ghc-metrics | OpenTelemetry metrics for the GHC runtime (RTS statistics) | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-postgresql-simple | OpenTelemetry instrumentation for postgresql-simple | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-persistent-mysql | OpenTelemetry instrumentation for persistent-mysql | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-persistent | OpenTelemetry instrumentation for the Persistent database library | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-yesod | Yesod middleware for providing OpenTelemetry instrumentation | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-cloudflare | OpenTelemetry instrumentation for Cloudflare services | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-http-client | OpenTelemetry instrumentation for http-client | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-wai | WAI instrumentation middleware for OpenTelemetry | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-instrumentation-conduit | OpenTelemetry instrumentation for Conduit streaming pipelines | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-vendor-honeycomb | Optional OpenTelemetry integration for Honeycomb | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-utils-exceptions | Exception utilities for OpenTelemetry instrumentation | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-exporter-prometheus | Prometheus text exposition for OpenTelemetry metrics export batches | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-sdk | OpenTelemetry SDK for use in applications. | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-exporter-otlp | OpenTelemetry exporter supporting the standard OTLP protocol | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-propagator-xray | AWS X-Ray trace context propagation for OpenTelemetry. | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-propagator-jaeger | Jaeger trace context propagation for OpenTelemetry. | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-propagator-datadog | Datadog Propagator for OpenTelemetry | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-propagator-b3 | Trace propagation via HTTP headers following the b3 tracestate spec. | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-propagator-w3c | Trace propagation via HTTP headers following the w3c tracestate spec. | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-exporter-in-memory | In-memory exporter for OpenTelemetry testing | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-exporter-handle | Handle-based exporter for OpenTelemetry (e.g. stdout) | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-otlp | OTLP protocol buffer modules for OpenTelemetry, generated via proto-lens | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-api | OpenTelemetry API for libraries to instrument code or build wrappers. | 1.0.0.0 | 29.05.2026 |
| hs-opentelemetry-semantic-conventions | OpenTelemetry Semantic Conventions for Haskell | 1.40.0.0 | 29.05.2026 |
| hs-opentelemetry-api-types | Core attribute types for hs-opentelemetry | 1.0.0.0 | 29.05.2026 |
| data-sketches | Stochastic streaming algorithms for approximate computation on large datasets. Includes KLL, HLL, Theta, Count-Min, and REQ sketches. | 0.4.0.1 | 14.04.2026 |
| data-sketches-core | — | 0.3.0.0 | 14.04.2026 |
| fractal-layer | Composable resource management and dependency injection | 0.1.0.0 | 18.03.2026 |
| sofetch | A low-boilerplate Haxl-like data fetching library | 0.1.0.4 | 11.03.2026 |
| sofetch-otel | — | 0.1.0.0 | 14.02.2026 |
| idn | Pure Haskell IDN and Punycode implementation | 0.1.2.0 | 21.11.2025 |
| uri-templater | Parsing & Quasiquoting for RFC 6570 URI Templates | 1.0.0.1 | 21.11.2025 |
| warlock | Automatic type-safe conversion between Haskell data types using Template Haskell | 0.1.0.1 | 12.10.2025 |
| temporal-sdk-core | — | 2025.10.1.0 | 01.10.2025 |
| temporal-sdk | — | 2025.10.1.0 | 01.10.2025 |
| temporal-api-protos | — | 2025.10.1.0 | 01.10.2025 |
| varargs | Utilities for working with variadic functions using type-level lists | 0.1.0.1 | 19.09.2025 |
| honeycomb | — | 0.1.0.1 | 05.05.2023 |
| thread-utils-finalizers | Perform finalization for threads. | 0.1.1.0 | 04.05.2023 |
| datadog | Datadog client for Haskell. Supports both the HTTP API and StatsD. | 0.3.0.0 | 30.03.2022 |
| json-pointy | JSON Pointer (RFC 6901) parsing, access, and modification | 0.1.0.1 | 30.10.2019 |
| now-haskell | Zeit Now haskell-side integration and introspection tools. | 0.1.0.0 | 21.08.2019 |
| multipool-postgresql-simple | — | 0.2.0.0 | 10.04.2019 |
| multipool-persistent-postgresql | Read and write appropriately from both master and replicated postgresql instances. | 0.2.0.0 | 10.04.2019 |
| multipool-persistent | Read and write from appropriate persistent sql instances in replicated environments. | 0.2.0.0 | 10.04.2019 |
| multipool | Generalized system for reading and writing to distributed systems that have primary/replica topologies. | 0.2.0.0 | 10.04.2019 |
| algolia | A client implementing the Algolia search API | 0.1.0.0 | 25.06.2018 |
| fastly | A highly experimental Fastly API client. | 0.1.0.0 | 21.06.2018 |
| postgresql-common | Library for sharing common PostgreSQL types across Haskell PostgreSQL libraries. | 0.1.0.1 | 21.06.2018 |
| postgresql-common-persistent | Persistent compatibility for postgresql-common | 0.1.0.0 | 18.06.2018 |
| asset-map | Asset map support for the JavaScript broccoli-asset-rev library. | 0.1.0.0 | 12.06.2018 |
| librato | Bindings to the Librato API | 0.2.0.1 | 20.12.2017 |
| wai-middleware-brotli | WAI middleware for brotli compression | 0.1.0.0 | 28.10.2017 |
| hs-brotli | Compression and decompression in the brotli format | 0.1.0.0 | 28.10.2017 |
| metrics | High-performance application metric tracking | 0.4.1.1 | 09.08.2017 |
| pipes-wai | A port of wai-conduit for the pipes ecosystem | 3.2.0 | 08.01.2016 |
| flowdock | Flowdock client library for Haskell | 0.3.0.1 | 25.06.2015 |
| hs-mesos | — | 0.20.3.0 | 04.06.2015 |
| serf | Interact with Serf via Haskell. | 0.1.1.0 | 21.05.2015 |
| engine-io-growler | — | 0.1.0.1 | 23.04.2015 |
| feature-flags | A simple library for dynamically enabling and disabling functionality. | 0.1.0.1 | 02.04.2015 |
| growler | A revised version of the scotty library that attempts to be simpler and more performant. | 0.6.0 | 21.02.2015 |
| lens-text-encoding | Isomorphisms and prisms for text <=> bytestring conversions | 0.1.0.0 | 12.10.2014 |
| hedis-simple | A simplified API for hedis | 0.1.0.0 | 28.11.2013 |
| easy-api | Utility code for building HTTP API bindings more quickly. | 0.1.0.0 | 22.11.2013 |
| snappy-iteratee | An enumeratee that uses Google's snappy compression library. | 0.1 | 02.11.2011 |
| zoom | A rake/thor-like task runner written in Haskell | 0.1.0.1 | 05.08.2011 |