Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
April 2, 2019 09:11
August 2, 2017 10:17
October 3, 2019 15:41
April 1, 2019 14:46
December 18, 2015 15:42
May 14, 2018 20:30
August 8, 2014 10:16
October 28, 2019 10:10
November 4, 2019 09:26
April 8, 2019 09:14

Dashboards by Keen IO

Building an analytics dashboard? Don’t start from scratch. Grab one of our CSS Grid-based templates and admire your data in minutes.

UPDATE: All examples in this repo have been updated to use keen-dataviz.js and keen-analysis.js, as well as CDN versions of all dependencies. When producing charts with keen-dataviz.js, the HTML wrapper for each chart (.chart-wrapper, described below) is rendered automatically.

Begin with a layout:

Hero Thirds Example

Add charts to each chart-stage HTML element:

<div class="grid-hero">
  <div class="hero chart-wrapper">
    <div class="chart-title">
      Chart Title
    <div class="chart-stage">
      <div id="grid-1-1">
        <!-- chart goes here! -->
    <div class="chart-notes">
      Notes about this chart (optional)

And voilΓ !

Sample Dashboard

An attractive, custom analytics dashboard that's ready to be shown to your team or your customers. No hours lost tweaking CSS or testing responsiveness on eight different mobile devices.

The Templates

These layout templates are composed of a minimal set of custom styles. They cover the most common use cases and layout configurations we've encountered so far.

  • Layouts for pre-built, responsive dashboard views
  • Examples for specific domains, data models and popular integrations


These templates can work with any data source or charting library, but they're particularly streamlined to work with Keen IO's Dataviz SDK. You can add some charts to your dashboard with just a few lines of code. Talk to our team to get started today.


Ready to use one of these awesome layouts? Here's how to get started.

  1. Download a copy of this repository as a zip file, using this link. You can also type git clone keen/dashboards in your terminal.

  2. Check out the various layouts and pick the one that best suits your needs. Find the template in the repository you downloaded at folder/layouts/(name-of-template).

  3. Start editing! In the destination folder will exist an .html file. Open it in your favorite text editor. There are three things you need to do to edit your dashboard:

  4. Setup: If you're a registered Keen IO user, navigate to your keen project or if you don't have a user at first, you can simply use some demo data that we've prepared for you. You can access those by going to the repository and navigating to demo-data. There, you will see some javascript files with some code in them. We will simply paste those in the .html file.

  5. Some copypasta. When you navigate to the bottom of the .html file, you can see that there are a bunch of script tags. Just before the end of the body tag, we're going to add in the code from sample.html. Simply copy and paste the code just before you see </body>.

  6. Once you've done that we need to hook up the specific items within the template to the code that we've just pasted in to our file. Each KeenDataviz instance has container property, which is a node selector required by query. That means that this query will try to find inside the html file a specified node. Please bear in mind that you have to set a height of this node in your stylesheet or using inline CSS. In these templates, you will see lines of that resemble something like:

<div class="chart-stage"> <!-- This is where you need to put the id property in! -->
  <img data-src="holder.js/100%x650/white">

Now we're going to change those lines so that it looks like this:

<div class="chart-stage" id="chart-01"> <!-- This is where you need to put the id property in! -->
  <!-- Get rid of that img tag! -->

You're finished! Congratulations on setting up your first chart! Repeat step three with the rest of the items in the template to complete your dashboard!


Clone the repository.

$ git clone

Access the repository and build your Docker image.

$ cd dashboards
$ docker build -t keen/dashboards .

Run the Docker container.

$ docker run -d -p 80:80 keen/dashboards


Contributions are 11,000,000% welcome! That's a lot!

Please file issues for any bugs you find or features you'd like to see. And if you're up for it, send in a pull request.

To develop, you'll need to first install dependencies using Bower:

$ npm install -g bower
$ bower install

Note: Updates to the site backed by the gh-pages branch go live immediately once pull requests are reviewed and approved.

Note #2: This project is moving fast, so make sure and stay up to date. Here's what we suggest. Fork this repo, clone the fork, and add the original repo as a remote called upstream:

$ git clone
$ cd dashboards
$ git remote add upstream

Pull from upstream frequently to keep your local copy up to date:

$ git pull upstream gh-pages


Need a hand with something? Send us an email to and we'll get back to you right away! For technical questions, use the keen-io tag on Stack Overflow.