These are some of the apps and open source code I’ve written or been involved in lately. It’s all available on GitHub.


  • Exposure is a simple spot-meter for iOS devices with cameras, intended to help with film photography.

There are two small web utilities I’ve created for making astronomy and astrophotography a little bit easier.

  • Observation Charts is an attempt to create beautiful SVG star charts. The charts are zoomable, draggable, and configurable. The source for the chart generation is on GitHub.
  • Field of View is a utility that uses images from NASA’s SkyView to give a rough idea of the size of a given deep space object within the frame provided by a particularly telescope and camera sensor size. The source is on GitHub.

CFPB Projects

I currently work for the Consumer Financial Protection Bureau. In that capacity I am a Wagtail core team member and contribute to the Wagtail Content Management System.

As a CFPB employee, I’ve created or helped create the following projects:

  • Django-Flags is a feature flag library for Django.
  • Wagtail-Flags is a Wagtail UI for the Django-Flags library.
  • Wagtail-TreeModelAdmin is an extension of the Wagtail ModelAdmin that provides a tree-like UI for parent-child model relations.

As a CFPB employee, I’ve also contributed to the following projects:

  • cfgov-refresh is the redesign of CFPB’s website,
  • eRegulations is a web application that makes regulations easier to find, read and understand. It is composed of several different components, one of which is a parser that parses the natural language of regulation text to create a tree structure.

I am also contributing to the effort to create guidelines and case studies and policy for the use and creation of open source software by the United States Government.

Personal Projects

There are a number of projects I’ve been working on sporadically over the past several years related to observational amateur astronomy.

In addition, I’ve got several other projects I’ve worked on in the past:

  • Contrast is a lightweight Flask wrapper around lxml’s HTML diffing capability. It should allow you to view in a browser the content different between two urls.
  • BookKit is an experiment with the hope of creating a JavaScript ePub3 rendering engine.
  • Orwell is an experiment with Python’s NLTK to apply Orwell’s rules from Politics and the English Language to textual input.
  • django-clientsignal is a SockJS and Tornado based mechanism for sending and receiving Django signals as client-side events.