A project management system.

A project management system I built for internal use at One Black Bear. We use this, as the name suggests, to run the day to day operations of what's going on within the company as well as tracking income & expenditure.

An extensive feature set of tools and reports it keeps you up to date and running on time.

Roles, rates & teams

ZooKeeper has the concept of teams (or departments), rates and roles. These effect how & what you see and have access to within the system.


These are like your typical access levels; staff, admin & owner. Your standard member of staff can use the day to day things, time tracking, job creation and similar. An admin gains some extra features, scheduling abilities and access to basic reporting tools. The top level, owner, can see everything on the system.


Everyone is different, and so are their needs. Along with a role, you can set a 'focus' for each staff member, allowing them to see different things.

We typically have a team admin view, a project manager style layout and a higher company overview. As you can imagine the admin view gives you lots of information about work needing to be schedule, team availability etc.

Project managers need a different kind of view, details about budget, deadlines, and briefs that need more information etc. Of course someone like the MD would need more details about finances, so there's a focus for that too.


Companies are generally split up in to some form of departmental / division / team structure, including ourselves. Being a bit blurry on where some teams start and others end, ZooKeeper allows for multiples so one staff member can be in as many as you need.

Variable rates

Different people normally cost different amounts; a senior experienced member of staff should cost more than the intern. You'd think then that you could just add a hourly cost to a member of staffs profile, but there are issues with that.

The best laid plans don't always work out, you might of originally planned for the junior to work on something, but due to illness or other issues a departmental head has had to pick it up.

To avoid these kind of situtations ZooKeeper has multiple rates and you can pick which to use when creating a task.

Jobs & tasks

Instead of just a single level, ZooKeeper has a concept of multiples. A Job is your overarching ideal, like 'Build awesome website', and the tasks are the granular parts of that, such as 'Design super cool home page', 'Develop google super smart search tool'.

Due to this, the job information is quite sparse, a title, client and a few basics, the details all shift on to the individual tasks.

The task is assigned to a team, with an hourly rate, due dates and all that jazz.

Time please

Of course you can't do useful reporting without tracking how long things took to do and ZooKeeper comes with a great timing system.

All your assigned tasks are visible on every page, with just a simple button click to start recording your time. Once one is running, it keeps on tracking until you tell it not to, even if you close the page, or even the browser.

By making use of HTML5 localStorage ZooKeeper stores and syncs your time whenever it can connect.


A vast array of reporting tools are included in ZooKeeper and of course a good chunk of those are graphs, making it as easy as possible to see what is going on.


With pie, column and combo charts ZooKeeper uses various ways to best show data. Information like actual hours vs targeted hours over a month is best expressed as a combo, where as something like what percentage each of available time does a client use each month would be best in a pie chat.

You can see some of the graphs used in the image gallery at the top of this page.


Sometimes you need something more than graph or you need to be able to give other that information without giving them access to ZooKeeper. For those kinds of situtations we have various export options.

Virtually every page on ZooKeeper can be exported to a PDF and the vast majority as a CSV.