Skip to content
A Riak-powered Ajax-polling chatroom. Not for production use!
JavaScript Shell



A simple web-based chatroom app. Designed as a proof-of-concept for Ben Black’s Riak training at VelocityConf 2010.

Features / Problems

  • Everything is stored and served out of Riak. No special abstraction. Take that, couchapps!
  • Browser Compatibility:
    • WebKit-based (Chrome, Safari)
    • Firefox 3.6 and 4.0
    • MSIE8, maybe 7 (tested via 8’s IE7 mode)
  • Remembers your login credentials via unencrypted cookies (not transmitted).
  • Randomizes the polling interval to avoid thundering-herd effects.
  • Uses full-bucket map-reduce, so won’t perform well at huge numbers of messages. Future work could change to use key-filters but would still incur the price of list-keys.
  • Your email address will be used for Gravatar, should you decide not to remain anonymous.


  1. Startup Riak locally on the standard HTTP port (8098).
  2. Join your local node to the cluster, if necessary.
  3. Run the bash script.
  4. Visit

Learn more

Read the source! The majority of the work is in yak/yakriak.js, and the map and reduce functions in the yakmr/ directory.

Credit where credit’s due

  • jQuery 1.4.2 (jQuery team)
  • riak-javascript-client (Basho)
  • json2.js (Douglas Crockford)
  • cookie.js (Maxime Haineault, John W. Long)
  • md5.js (Paul Johnston)
Something went wrong with that request. Please try again.