Create dedicated Where Does My Money Go style websites quickly and easily
JavaScript CSS Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


OpenSpending Satellite Site Template

This repo is a template that can be used to easily create custom budget and spending visualization sites using data from OpenSpending.

An example of the kind of site that you can create (very quickly) using this template is Where Does My Money Go?.

What is in this repository?

Satellite sites runs as simple static websites built out of plain HTML and JS and pulling data from OpenSpending. All data is stored in the OpenSpending platform and the visualizations and search are driven directly from its API.

The repository contains a basic layout for the site, based on Twitter's Bootstrap 2 CSS framework, and a skeleton site based on Jekyll, a simple generator tool for static web sites. The key component is code samples for embedding most of the widgets that are currently available for OpenSpending:

  • bubbletree.html holds the classic BubbleTree diagram, which can be used to easily break down a multi-level hierarchy of classifications (such as the COFOG codes in the UK budget).
  • bubbletree-map.html combines the BubbleTree and a simple vector map of the UK. This would be more work to adapt for a custom site, but the beautiful view may well be worth the effort.
  • dailybread.html contains the Daily Bread custom tax viewer, which breaks down government expenditure over the approximate tax contribution of the visitor.
  • browser.html is a search interface for transactional spending information, used for the UK's departmental spend in this example. This is useful for datasets which are too unstructured for proper aggregation but contain interesting information at a detailed level.

How do I make a budget site for my own country/region?

If you want to set up a budget monitoring site for your own country, you first need to acquire some budgetary or spending data and load it into OpenSpending using the site's web interface. Once the data is loaded, you can fork this repository and change the titles, styles and arrangement to meet your individual needs. Finally, you can either host the site yourself, or let GitHub Pages do it.

How do I build the site?

The pages in this repository are built to their final form by combining them with the template in _layouts/default.html using Jekyll, a Ruby-based static site generator. To build the site, you first need to install Jekyll (works on either Mac OS X or Linux):

sudo gem install jekyll

A good tutorial for Windows is available here.

After that, you can simply build the site or even run a local web server by running this command from the repository root directory:

jekyll serve --watch

If your jekyll version is less than 1.0, run this command instead of the above:

jekyll --server --auto

Even if you cannot install jekyll for some reason, you can still experiment with the site by deploying its contents after each change.

The easiest way to deploy the site is via GitHub pages. To use them, simply adapt the CNAME file in the root of the repository and push to the gh-pages branch. All pages will be automatically built and deployed.

What customizations should I make if I set up my own site?

In order to create a new, white-label site, there are a number of easy tweaks you can make.

  • Edit the configuration file in _config.yml to set the overall site title and some basic parameters, such as the OpenSpending installation to be used. Further configuration options, mostly regarding page generation, are available for Jekyll.
  • The JavaScript initializations for each of the widgets need to be customized; in particular the dataset name needs to be set and an appropriate set of break down dimensions needs to be set for the BubbleTree and DailyBread. The most common configurations for these widgets can be done in _config.yml
  • Adapt the style sheet in css/style.css to use your own theming; in particular fonts and colorization.
  • Replace img/logo.png to set a custom logo.
  • Edit the basic HTML structure of the project in _layouts/default.html to extend or shorten the menu and any other page elements.

To get a basic understanding of the terminology and concepts involved in the API calls to OpenSpending, take a few minutes to read up on the technical background: How does OpenSpending store data?

Where do I find help?

This repository is a community-supported resource and there are several places where you can call on the community to help you customize it for your needs:

The OpenSpending team can also offer tailored support to build a customized site about government finance, to help you create your own visualizations or to answer specific questions related to budgetary or spending data.

This additional level of support comes with service level agreements and is ideal for projects working to a tight deadline, those looking for new-types of visualisation, high-stake or long term projects. If you are interested in finding out more about our availability and what we can offer please get in touch with the OpenSpending project at We'd love to work with you!