node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org ยป


Citizen Media Notary


Working on this. Don't use in production yet.


A system which enables 3rd party data observers who maintain a record of the authenticity of citizen media as it is recorded.

Check the slideshow:


  • Secure-by-default.
  • Publically queriable (but perhaps not publicaly browsable.)
  • Easy to deploy.
  • Come up with a spec
  • Federated servers? PubSub, maybe?


  • Review schema
  • Crypto (Verification of signatures)
  • Duplication
  • Frontend

Language Choice

I think I'm going to do this one in Node because Django doesn't play super nicely with non relational databases.

The drawback is that Node is kind of a pain in the ass to deploy, especially with SSL.


For now, it's gonna use CouchDB. Opinions welcome.


Make sure you have latest node, npm and CouchDB installed.

npm install

Set up cryptographic keys

  • See ./crypto/ for instructions.

Run Server

node server.js

Run with Supervisor

If you're developing, it's easier to use Supervisior, which will automatically reload the app when it detects changes. Supervisor requires that it be installed globally.

npm install -g supervisor

supervisor server.js

More details soon..