My full-time position is in developing and applying the toolchain, particularly CumulusCI, as a release engineer at

You can find all of my personal projects at GitHub. I work primarily on the Salesforce platform and in Python.


Bibliothekai is an application for finding and evaluating the best translations of classical Greek and Latin texts.


Amaxa is a multi-object ETL tool/data loader for Salesforce. It’s designed to extract and load whole networks of records, like a selected set of Accounts with all of their Contacts, Opportunities, Contact Roles, and Campaigns, in a single repeatable operation while preserving the relationships between those records.

Core use cases for Amaxa include sandbox seeding, data migration, and retrieving connected data sets.

Unmaintained Projects


CircleCI codecov

A SEPTA Regional Rail train tracker for Salesforce Lighting. Why? Because it’s an interesting test-bed for new development tools and techniques, including Salesforce DX, Apex support, and continuous integration with SFDX and CircleCI.


CircleCI codecov

Note and attachment importing support for Salesforce - add rich-text notes with the Data Loader. This package abstracts the complex content preparation required and helps to avoid unpredictable ContentNote exceptions.

CircleCI codecov

A tool to compare and deduplicate divergent file trees, especially with different organization or hierarchy levels.


A Python tool to convert 15-character Salesforce Ids in a CSV file to 18-character Ids.

SFDX CircleCI Examples

A repository of examples showing how to apply CircleCI and Salesforce DX in a continuous integration workflow for Salesforce, including demonstrations of testing against multiple org shapes, using PMD static analysis, and applying the Lightning Testing Service.

SFDX with simple_salesforce

A demonstration of using Salesforce DX to execute integration tests against Salesforce scratch orgs for a Salesforce API client written in Python.

Trapeza and Trapeza-Import

These Python-based tools are designed to facilitate the manipulation and combination of record data in tabular form - in particular, CSV files containing database output. Trapeza-Import is designed to streamline the importing of large amounts of records into a database by matching duplicates in user-configurable ways. Originally designed for use with Blackbaud Raiser’s Edge.


A graphical manpage viewer for Mac OS X.