Balancing Act

Making municipal budgets friendly to the public.

The Challenge

Providing citizens with an easily-digestable version of a municipal budget was the goal of Engaged Public. Doing so gives more power to the citizen and helps them inform their representatives of where money needs to be allocated.

Built as a SaaS platform, Balancing Act gives municipalities the features they need to guage their constituencies and make better decisions. Not only this, but municipalities can also show how what taxes look like for their area, or even hold a town hall and walk participants through key issues in the budget, getting real-time feedback from the audience!


  • I initially met with the client with my team to prototype user interactions and how to convey complex information in a simple, yet meaningful, way. Through a series of in-person play-testing scenarios and paper prototypes over the course of two days, I was able to understand the client's desires and establish requirements for the experience.
  • I helped validate an initial software prototype using simple, static data via a quick-and-dirty front-end simulation experience I developed over the following two weeks. The experience utilized a ChartJS donut chart and served as the direct precursor to the simulation today.
  • Being a SaaS app, there are several different aspects that have to be considered for the app: the front-end end-user experience; the experience of paying clients via a management console; and the experience of a system administrator.
  • Although I worked on the prototype, I was resourced elsewhere for much of the development of the app but came back to it about a year later as the primary developer. Jumping into another developer's code, while not ideal, is part of the game, and I was able to come up to speed quickly on all the progress that had been made and continue development on a number of key features.
  • Since taking over the project, I have successfully transitioned the primary simulation experience to a Vue-based one, and am currently transitioning the underlying backend codebase from Zend Framework 2 to Laravel. There are a number of moving pieces here that make this exceptionally challenging, but through working with another developer, we have a plan in place for a completed migration in February of 2018.

Source code is not currently available.


  • PHP 5.6
  • Zend Framework 2
  • Composer
  • HTML5
  • CSS3
  • The client administration console is largely based on the Bootstrap framework. The front-end simulation utilizes several Bootstrap Javascript components and the grid layout.

  • JavaScript (ES5, ES2015)
  • jQuery
  • jQueryUI
  • The front-end simulation was originally written in jQuery. It was rewritten in August-September, 2016, in Vue.js.

  • Grunt
  • Webpack
  • MySQL 5.6
  • I18N
  • Adaptive Design
  • Stripe


About 18 months
(2015 to 2017)

Visit Site