A small selection of my side projects. You can find more at my GitHub profile.

* = actively maintained


  • marshmallow* A lightweight, ORM-agnostic Python library for validating, serializing, and deserializing objects.
  • webargs* A declarative HTTP request argument parser with support for Flask, Django, Bottle, Tornado, Pyramid, webapp2, Falcon, and aiohttp.
  • apispec* A pluggable API specification generator. Currently targets the OpenAPI 2.0 specification.
  • MicroFeedback* Early development. Easily-deployable microservices and UI components for collecting user feedback.
  • jrnl-render* Render jrnl files as a webpage.
  • perspective-api-client* Node.js client for the Perspective API.
  • TextBlob* Simple, Pythonic text processing. Includes part-of-speech tagging, noun phrase parsing, sentiment analysis, and more.
  • environs* Python library for parsing and validating environment variables.
  • aiohttp_utils Utilities for building aiohttp web applications.
  • AreYouSure.js Inline confirmation dialogs for JavaScript.

Command line

  • doitlive* A tool for "live" presentations in the terminal.
  • konch* Allows you to customize your Python shell.
  • local-repl* Like konch, but for Node.js.
  • ped Quickly open Python modules in your text editor.
  • gig Generate .gitignore files from the command line.


  •* Project website for MicroFeedback, written using Gatsby.
  •* A notebook of random things I've learned. Built with jrnl-render.
  • Simplist Early development. One-click collaborative lists, written using ReactJS and HapiJS. I use this for gift lists.
  • User-contributed guides for accomplishing programming-related tasks.

Retired projects

  • SEPAL Online tool for acoustic feature extraction and analysis.
  • Sqk Tools for automated classification and analysis of rodent vocalizations. Also my first Python project.