Skip to content
Atille edited this page Mar 20, 2020 · 48 revisions
Clone this wiki locally


Smashing is a Sinatra based framework that lets you build beautiful dashboards.

Key features

  • Use premade widgets, or fully create your own with scss, html, and coffeescript.
  • Widgets harness the power of data bindings to keep things DRY and simple. Powered by batman.js.
  • Use the API to push data to your dashboards, or make use of a simple ruby DSL for fetching data.
  • Drag & Drop interface for re-arranging your widgets.
  • Host your dashboards on Heroku in less than 30 seconds.

This is a fork of dashing project which was created at Shopify for displaying custom dashboards on TVs around the office.

Why use Smashing when there are plenty of cloud based dashboards out there?

Good question! There are tons of great options available, such as Geckoboard and Dashku. However, each have their own limitations.

Some requirements that are noteworthy:

  • Use your own authentication. Many online platforms give you private URLs to your dashboards. Those can be tricky to remember, and can accidentally fall in the wrong hands. With Smashing, you can add whatever auth you want. We use Google Auth.
  • Be completely customizable. We didn't want to be limited by the widgets that are available on other platforms. We also wanted all of our code to be in version control, and editable in whatever IDE we want.
  • Keep instances of the same widget in sync. Many online dashboards give unique ids for every widget instance you create. This means that if you want to update 3 identical widgets showing 'daily sales', you'll need to use the API to push the value to all 3 instances. With Smashing, identical widgets all have the same id, meaning less duplication, and complete synchrony across all dashboards.

Additional Widgets

Here's a list of awesome widgets you can include in your dashboards. Feel free to add your own!

How To's

Great Resources

Common Issues