About Me
I design, build, and own production systems end to end: distributed platforms, real-time data systems, and AI agents doing real work in production. Over the past twenty years that has included a real-time credit bureau processing over 100,000 inquiries per day at 99.99% availability with sub-second latency, an event-driven rules engine on Elixir, Phoenix, and Kafka, and most recently AI agents built into a production CI/CD pipeline that review every pull request for regulatory compliance, credit-bureau reporting, and security violations. More about me.
Open Source
Alongside that I maintain 11 open-source libraries with over 77 million combined downloads, in daily production use worldwide. Four of them shipped new versions in July 2026, built using AI-agentic workflows.
Semantic Logger 36.0M downloads
A high-performance, asynchronous structured logging framework for Ruby.
Ordinary loggers flatten everything into a string. Semantic Logger keeps the message and the data separate, so a payload, exception, duration, metric, or tag survives all the way to the destination and stays searchable. Log events are queued in memory and written by a background thread, so the application is never blocked waiting on disk or a remote service. Ships with appenders for Syslog, Graylog, Elasticsearch, Splunk, Loggly, New Relic, Bugsnag, MongoDB, and HTTP(S).
Rails Semantic Logger 24.1M downloads
Drops Semantic Logger into Rails, replacing the default logger so that Rails itself, your application code, and many common gems all log through structured logging instead of plain text. Add the gem and Rails log output becomes structured, with no code changes.
Symmetric Encryption 6.3M downloads
Symmetric encryption for Ruby and Rails projects using OpenSSL.
Any project pursuing PCI compliance has to encrypt data in flight and at rest, including passwords in configuration files. Symmetric Encryption makes that a one-liner, exposes the full range of OpenSSL ciphers, and handles key management and key rotation so encrypted columns and files stay readable across key changes.
JRuby JMS 5.1M downloads
A complete JRuby API into the Java Messaging Specification, letting Ruby code talk to any JMS provider. Feature complete and unchanged for years; still downloaded steadily by JRuby shops running enterprise messaging.
IOStreams 2.6M downloads
A streaming library that makes compression, encryption, file format, and storage location transparent to your code.
One customer sends gzipped CSV, another sends a PGP encrypted file, a third uploads a spreadsheet. The files are on local disk in development and in S3 in production. Without IOStreams each combination needs its own handling, and large files risk exhausting memory. With it, you read and write any of them as if they were plain local text, one block at a time, regardless of size.
Net::TCPClient 1.1M downloads
A TCP socket client with automated failover, load balancing, retries, and genuinely reliable timeouts. Written because Ruby's built-in socket timeouts do not behave the way production traffic needs them to.
Secret Config 451K downloads
Ship the same image to every environment and tenant. Configuration and secrets come from one central store.
Keeps database credentials, connection pool sizes, hostnames, timeouts, and encryption keys in one central place instead of scattered across config files. Reads from a file for development, AWS Systems Manager Parameter Store for production, and lets environment variables override any setting, with string values converted to the types your code expects.
SyncAttr 447K downloads
Thread-safe lazy-initialized class and instance attributes for Ruby. Small, finished, and still in daily use.
Rocket Job 438K downloads
A distributed, priority-based background job and batch processing system for Ruby. Process millions of records across thousands of workers.
Jobs are real Ruby classes with typed, validated fields, persisted to MongoDB and processed in business priority order so critical work jumps ahead of routine work. Add one line and a job's input is split into slices and processed concurrently across every available worker, turning a file with millions of rows into thousands of parallel units that can be paused, resumed, retried, or aborted as a whole.
Parallel Minion 380K downloads
Run slow steps at the same time and cut request latency.
Hand a block of work to a minion, carry on with something else, and collect the result when you need it. Steps that used to run one after another now overlap, so total time is closer to the slowest single step than to the sum of all of them. Handles exception propagation, timeouts, and passing logging context and Rails state across the thread boundary.
Data Cleansing 360K downloads
Declarative cleansing of data arriving from Rails forms, APIs, files, or plain Ruby objects. Define the rules once on the model instead of scattering strip and normalize calls through every controller.
Download counts were last verified on 2026-08-06. Projects shown in grey are complete and stable rather than actively developed: they still work, and still get downloaded, but are not receiving new features.
Elsewhere
I also maintain Rocket Job Mission Control, the web management interface for Rocket Job, and Opinionated HTTP, an HTTP client with retries built on Semantic Logger and Secret Config. There is an Elixir port of Symmetric Encryption at symmetric_encryption.ex.
The full list is on GitHub.