Projects

Applications

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

ProjectDescription
FranzA desktop client for Apache Kafka.
neko.appA tiny kitten follows your mouse cursor on macOS.
PodcatcherA podcast player for iOS.
RememberA 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.

ProjectDescription
RacksnapsDaily snapshots of the official Racket package catalog.
Task QueuesA list of message brokers and task queues across many programming languages and implementations.

Libraries and Tools

This is the stuff I'm actively maintaining.

ProjectDescription
actorKill-Safe actors for Racket.
avroA Racket implementation of the Apache Avro serialization format.
binfmtA binary format parser-generator.
chiefA Procfile runner for Racket.
componentDependency injection for Racket.
crontabCron-like scheduling for Racket.
cursive_reReadable regular expressions for Python 3.
dbgA remote debugging/monitoring tool for Racket programs.
define-queryTurn .sql files into virtual-statements in Racket.
detaA functional database mapper for Racket.
dramatiqA distributed task processing library for Python 3.
dramatiq_dashboardA monitoring UI for Dramatiq.
dramatiq_sqsAn Amazon SQS broker for Dramatiq.
formsA web form validation library for Racket.
geoipGeolocation for Racket based on MaxMind's GeoIP databases.
gui-easyA declarative GUI library for Racket.
http-easyA high-level HTTP client for Racket.
koyoA web development toolkit for Racket.
lz4A pure-Racket decompressor for LZ4 data.
marionetteA Racket library that lets you control Firefox via the Marionette Protocol.
messagepackAn implementation of the MessagePack serialization format for Racket.
moltenA modern API framework for Python 3.
monocleLenses for Racket.
monotonicMonotonic time for Racket.
nemeaA little Racket web application for tracking website analytics.
net-ipUtilities for working with IP addresses and networks in Racket.
noiseA Swift Package for embedding Racket inside applications.
northA database schema migration tool written in Racket.
place-tcp-listenerA TCP listener that dispatches new connections to places.
postmarkA Postmark client written in Racket.
py-test.elA Python test runner for Emacs.
rackcheckA property-based testing library for Racket with support for shrinking.
racket-kafkaA Racket client for Apache Kafka.
racket-luaA Racket #lang implementation of Lua.
racket-protocol-buffersA Protocol Buffers implementation for Racket.
racket-redisFast, idiomatic bindings to Redis for Racket.
resource-poolA generic resource pool for Racket.
resource_poolA generic resource pool for Python.
reviewA linter for Racket.
sassBindings to libsass for Racket.
sentryA Sentry SDK for Racket.
setup-racketA GitHub Action for installing Racket.
smtp-serverAn SMTP server implementation for Racket.
twilioA Twilio client for Racket.
wasmA WASM VM written in Racket.
watchdog_geventA gevent-based observer for watchdog.
web-app-from-scratchSupporting material for my "Web App From Scratch" blog series.

Archive

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.

ProjectDescription
PyREPLRun a Python interpreter inside Vim.
RbREPLRun a Ruby interpreter inside Vim.
anom-goAn object mapper for the AppEngine Datastore in Go.
anomAn object mapper for Cloud Datastore for Python 3.
apistar_corsCORS support for API Star apps.
apistar_dramatiqDramatiq support for API Star apps.
apistar_prometheusPrometheus metrics for API Star apps.
apistar_request_idRequest id generation and propagation for API Star.
apistar_sentrySentry support for API Star apps.
apistar_settingsA settings component for API Star apps.
browser-connectLive browser interaction for Vim.
cedar-modeEmacs mode for cedar.
cedarA web service definition format and code generator.
crontabA crontab spec parser for Scala.
elm-astA parser for Elm in Elm.
elm-combineParser combinators for Elm.
elm-cookiecutterA cookiecutter template for Elm apps.
elm-datepickerA reusable datepicker for Elm.
elm-generateGenerators for Elm.
elm-modeAn Elm mode for EMACS.
elm-querystringA library for working with querystrings in Elm.
elm-routeA type-safe routing library for Elm.
elm-timeA pure Elm date and time library.
falcon_sugarA little sugar for Falcon applications.
fargate_scraperA CLI tool that scrapes Fargate tasks to find Prometheus targets.
ffA fuzzy-finder for the terminal.
firechannelAn almost-dropin replacement for the GAE channels API using Firebase.
h2pA Python interface to libwkhtmltox.
heaterA Python heatmapping library.
hugsA library that maps SQL expressions to Python fuctions.
ido-clever-matchAn alternative matcher for Emacs ido-mode.
markiiA development-mode error handler for Python web apps.
modvizA module dependency graph visualizer for Python.
moldA fast templating engine for Python.
multipromA multiprocess-friendly Prometheus client for Python.
picoA minimal lisp interpreter written in Python.
quicksilverA fast file finder for VIM.
tcopyA tail-call optimizing decorator for Python.
threadopAdds a threading operator to Python.
trio-redisA trio-based Redis client for Python.
yes.pyA fast implementation of yes in Python.
zedA toy text editor.