Skip to content
Mobile web framework for serving content on the New York L Train
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

L Train Notwork


This framework was used to serve curated content to mobile devices on the New York City subway.

More info can be found on our press release, at Wired, or in this video.

Read the technical documentation including hardware configuration and specs.

Take this model and deploy your very own notwork!

Installation Instructions

  1. Grab code
  2. Install node (supported version 0.4.12) and npm (link)
  3. Within terminal, navigate to the code directory
  4. Install required packages using npm install express yamlparser mysql-pool sprintf dateformat now underscore mysql jade
  5. Add config.yaml (see below)
  6. Launch using node app.js
  7. Open http://localhost:3000


Copy and paste this into config.yaml in your code directory.

# file: config.yaml

# mysql credentials
mysqlUser: user
mysqlPass: pass

# added to mysql entries to easily combine multiple hardware tables
hardwareId: mycomputer

# use a basic access authentication
authentication: false
authUser: user
authPass: password

# node.js webserver port
port: 3000

# node.js route used in app.js
mode: development

Launching with forever

Run using ./scripts/launch from the command line.


Q: Why do I get the following stack trace?

Error: Cannot find module 'node-proxy'
    at Function._resolveFilename (module.js:326:11)
    at Function._load (module.js:271:25)
    at require (module.js:355:19)
    at Object.<anonymous> (/Users/boxysean/Documents/workspace/notwork/node_modules/now/lib/proxy.js:10:13)
    at Module._compile (module.js:411:26)
    at Object..js (module.js:417:10)
    at Module.load (module.js:343:31)
    at Function._load (module.js:302:12)
    at require (module.js:355:19)
    at Object.<anonymous> (/Users/boxysean/Documents/workspace/notwork/node_modules/now/lib/group.js:3:13)

A: Run make.

Q: Why do I get the following error when installing packages via npm?

npm ERR! node-proxy@0.5.2 install: `make`
npm ERR! `sh "-c" "make"` failed with 2
npm ERR! 
npm ERR! Failed at the node-proxy@0.5.2 install script.
npm ERR! This is most likely a problem with the node-proxy package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     make
npm ERR! You can get their info via:
npm ERR!     npm owner ls node-proxy
npm ERR! There is likely additional logging output above.
npm ERR! 
npm ERR! System Linux 3.0.0-13-generic
npm ERR! command "node" "/usr/bin/npm" "install" "now"
npm ERR! cwd /mnt/br/boxysean/workspace/notwork_github
npm ERR! node -v v0.4.12
npm ERR! npm -v 1.0.94
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /mnt/br/boxysean/workspace/notwork_github/npm-debug.log
npm not ok

A: This is probably because you are missing node-waf. More...

Q: Node install says I'm missing openssl. What should I do?

A: Install openssl libraries by doing sudo apt-get install libssl-dev in Debian (Ubuntu) or through Ports in OS X.


You can’t perform that action at this time.