Here is a basic diagram of the software interactions that should probably be built.  I feel a good place to start is by  designing a basic “exchange” and “company registration” module.  Both will expose programming interfaces (API).   We will tart prototyping a system  that will host both registration and the exchange.


  • Registration Module: will contain a database of registered non-profits as well as fundamental data.  (This fundamental data may potentially be assembled from publically available form 990′s)
  • Exchange Module:  This module will host individual campaigns from the registered non-profits. This may include drives for donations, membership fees or other public funding