node package manager
Easy collaboration. Discover, share, and reuse code in your team. Create a free org »



Tools to support the collection of and analysis of user reasons, as per


There's a database API, and several React widgets that work with that database.

The database is built on Firebase, and in order to use it you’ll need to have users authenticate into the db, using code like this:

let FIREBASE = new Firebase('')
FIREBASE.authWithOAuthPopup('google').then(YOUR CODE HERE)

The database lets you add reasons, list them, and find completions for a partially typed reason string.

import Reasons from ‘reasons’
let newReasonId = Reasons.add(‘response’, ‘bored’)

There are widgets for picking reasons, and collecting reasons and outcomes from users about a chain of activities.

And activity looks like the following:

let exampleActivity = {
  blame: '',
  elapsed: 30*60*1000,
  over: [*60*60*1000,],
  recognizer: 'indirect',
  favIconUrl: '',
  verbPhrase: ‘browsing links’,
  examples: ‘A, B, and C’,

An assessment consist of the reported reasons and outcomes for an activity:

let assessment = {
      author: userID,
      assessment: feeling,
      reasons: [],
      blame: activity.blame,
      elapsed: activity.elapsed,
      over: activity.over,
      recognizer: activity.recognizer,
      verbPhrase: activity.verbPhrase

Getting started

npm install