These are some of the native applications I’ve built.

Project Description
Franz A macOS client for Apache Kafka. A tiny kitten follows your mouse cursor on macOS.
Remember A keyboard-driven application for stashing away distractions for later.

Websites and SaaS

These are some of the web applications I’ve built in my spare time.

Project Description
Racksnaps Daily snapshots of the official Racket package catalog.
Task Queues A list of message brokers and task queues across many programming languages and implementations.

Libraries and Tools

This is the stuff I’m currently working on and actively maintaining in the open.

Project Description
avro A Racket implementation of the Apache Avro serialization format.
binfmt A binary format parser-generator.
chief A Procfile runner for Racket.
component Dependency injection for Racket.
crontab Cron-like scheduling for Racket.
cursive_re Readable regular expressions for Python 3.6+.
dbg A remote debugging/monitoring tool for Racket programs.
deta A functional database mapper for Racket.
dramatiq A distributed task processing library for Python 3.6+.
dramatiq_dashboard A monitoring UI for Dramatiq.
dramatiq_sqs An Amazon SQS broker for Dramatiq.
forms A web form validation library for Racket.
geoip Geolocation for Racket based on MaxMind’s GeoIP databases.
gui-easy A declarative GUI library for Racket.
http-easy A high-level HTTP client for Racket.
hugs A library that maps SQL expressions to Python fuctions.
koyo A web development toolkit for Racket.
lz4 A pure-Racket decompressor for LZ4 data.
marionette A Racket library that lets you control Firefox via the Marionette Protocol.
messagepack An implementation of the MessagePack serialization format for Racket.
molten A modern API framework for Python 3.6+.
monotonic Monotonic time for Racket.
nemea A little Racket web application for tracking website analytics.
net-ip Utilities for working with IP addresses and networks in Racket.
noise A Swift Package for embedding Racket inside applications.
north A database schema migration tool written in Racket.
postmark A Postmark client written in Racket.
py-test.el A Python test runner for Emacs.
rackcheck A property-based testing library for Racket with support for shrinking.
racket-kafka A Racket client for Apache Kafka.
racket-lua A Racket #lang implementation of Lua.
racket-protocol-buffers A Protocol Buffers implementation for Racket.
racket-redis Fast, idiomatic bindings to Redis for Racket.
resource-pool A generic resource pool for Racket.
resource_pool A generic resource pool for Python.
review A linter for Racket.
sass Bindings to libsass for Racket.
sentry A Sentry SDK for Racket.
setup-racket A GitHub Action for installing Racket.
smtp-server An SMTP server implementation for Racket.
twilio A Twilio client for Racket.
wasm A WASM VM written in Racket.
watchdog_gevent A gevent-based observer for watchdog.
web-app-from-scratch Supporting material for my “Web App From Scratch” blog series.


These are libraries and tools that I am no longer actively maintaining. Most of these are perfectly usable and don’t require maintenance, but if you use them and run into problems I won’t help much beyond maybe giving you some pointers.

Project Description
PyREPL Run a Python interpreter inside Vim.
RbREPL Run a Ruby interpreter inside Vim.
anom-go An object mapper for the AppEngine Datastore in Go.
anom An object mapper for Cloud Datastore for Python 3.6+.
apistar_cors CORS support for API Star apps.
apistar_dramatiq Dramatiq support for API Star apps.
apistar_prometheus Prometheus metrics for API Star apps.
apistar_request_id Request id generation and propagation for API Star.
apistar_sentry Sentry support for API Star apps.
apistar_settings A settings component for API Star apps.
browser-connect Live browser interaction for Vim.
cedar-mode Emacs mode for cedar.
cedar A web service definition format and code generator.
crontab A crontab spec parser for Scala.
elm-ast A parser for Elm in Elm.
elm-combine Parser combinators for Elm.
elm-cookiecutter A cookiecutter template for Elm apps.
elm-datepicker A reusable datepicker for Elm.
elm-generate Generators for Elm.
elm-mode An Elm mode for EMACS.
elm-querystring A library for working with querystrings in Elm.
elm-route A type-safe routing library for Elm.
elm-time A pure Elm date and time library.
falcon_sugar A little sugar for Falcon applications.
fargate_scraper A CLI tool that scrapes Fargate tasks to find Prometheus targets.
ff A fuzzy-finder for the terminal.
firechannel An almost-dropin replacement for the GAE channels API using Firebase.
h2p A Python interface to libwkhtmltox.
heater A Python heatmapping library.
ido-clever-match An alternative matcher for Emacs ido-mode.
markii A development-mode error handler for Python web apps.
modviz A module dependency graph visualizer for Python.
mold A fast templating engine for Python.
multiprom A multiprocess-friendly Prometheus client for Python.
pico A minimal lisp interpreter written in Python.
quicksilver A fast file finder for VIM.
tcopy A tail-call optimizing decorator for Python.
threadop Adds a threading operator to Python.
trio-redis A trio-based Redis client for Python. A fast implementation of yes in Python.
zed A toy text editor.