Simple microblogging network based on the ostatus protocol.
Clone or download
Pull request Compare This branch is 1247 commits behind hotsh:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
rstatus.rb is a microblogging site built on top of the ostatus protocol.

Helping out with

If you'd like to contribute, here are some details:

  • The stack: ruby/sinatra/mongodb
  • The code
  • The documentation (need lots of improvement here!)
  • The Issues list
  • Please fork the project and make a pull request
    • Pull requests will not be merged without tests/documentation
      • We use minitest/capybara for tests
      • We use docco (rocco) for documentation
      • If you think it doesn't need a test, make your case, I'm just saying.

Source code documentation

We have documentation that explains all of our source code, using rocco. You can view it here.

Setting up a dev environment

First off: you will need MongoDB ( They have a quickstart guide for getting it installed and running.

Then do:

$ cd

Copy the config file; if you have actual Twitter API keys, you can add yours, but this file just needs to exist for the server to work.

$ cp config/config.yml.sample config/config.yml

Then update your gemset:

$ gem install bundler && bundle install

And start the server:

$ rackup

Bam! Visit http://localhost:9292/ in your browser, and you'll be good.

Compiling CSS and Javascript

We use Coffeescript (.coffee) or Sassy CSS (.scss) for javascript and CSS development respectively. When running the site locally, these files will automatically be compiled by the application when requested.

When preparing for deployment, we compress our stylesheets and javascripts, as well as embedding what images we can. To compile Coffeescript and SCSS, use the following rake task:

$ rake assets:compile

Note: This relies on some sort of coffee compiler being installed globally. If you get "undefined method 'compile' for nil:NilClass", that might be your problem. On Ubuntu, installing the nodejs package fixes this; for other systems, check out

For coffee-script installation, check the docs.

You may also need the java runtime for asset compression, which is handled by jammit using yui compressor and closure compiler. Installing a JDK, such as OpenJDK should do the trick.

Running your own node

If you need help with this, then you're not ready to run one. Here's the deal: we're still finishing up our ostatus implementation, and until it's 100% compatible, these instructions are kept secret. Eventually, we plan on making this super easy, but until we feel that it's ready, we're keeping the instructions 'secret.' Sorry!

If you do run your own node anyway, please keep current with upstream until we hit 1.0, and it should all be smooth sailing!