Jack Cruden's portfolio & blog


25th February, 2019  ·  3 minute read

I started developing WeRoster at the end of 2015 when a friend from university introduced me to her Mum. Their family ran a few restaurants in New Zealand and they wanted a rostering system that was tailored to their specific needs.

In the beginning we iterated very quickly, having a usable product within a few months. After about 8 months I decided that WeRoster was fully-featured enough to be its own product and I wanted to commit to developing it long term.

In August 2016 I registered WeRoster Limited in New Zealand.


WeRoster has a number of major features that I've added over the years based on customer demand. As our customers are the ones using the system every day, most of what I develop is dictated by customer feedback.

Roster Editor

The Roster Editor

The Roster Editor is the core feature of WeRoster and our key point of difference. The Roster Editor was made specifically for people transitioning from spreadsheet rostering to online rostering system so I based it around a spreadsheet rostering template I had been given at the time. Honestly, apart from a recent rewrite from vanilla JavaScript to Vue.js the Roster Editor hasn't changed much in functionality since I first created it.

Staff Availability

One of the MVP requirements when I first started was that managers are able to see when their staff are available. We were targeting small business that might employe students working part-time. It was important that there was functionality for staff to indicate when they were available to be rostered on. Staff availability was shown on the Roster Editor as either green or red blocks depending on if the staff member was available.

Leave Requests

Staff are able to request leave form work by specifying the time they'll be away and what type of leave they are requesting (annual leave, sick leave, etc.)

Shift Tracking

One of our more recent additions is Shift Tracking. The ability for staff to clock in and out of a rostered shift via their phone or a central terminal (PoS) in-store is obviously an important part of managing a shift-based team, but I never thought this would be in the scope of WeRoster. This is still in beta (February 2019).

Future Development

I'm routinely adding small features as requested, about once a week or so. Also, working on a at least one major feature at any point in time.

Not all of what I develop makes it to production. Oftentimes I'll be 50% through a requested feature before realising that there's a much better way to do things. It may take longer to develop, but the end result is substantially better. For example, it was recently requested from a long time customer that we add functionality to easily send out an email announcement to all staff. This is a fairly simple function, but I realised that maybe managers would then want a record of announcements had been sent out. I ended up creating a realtime 'timeline' page were staff and managers could create threads, post comments and 'react' to posts. Essentially reinventing the wheel. Though, I utilised WebSockets which was something new for me that I'd wanted to learn for a long time. The feature isn't live yet (February 2019), but I'm about to reach out to beta testers to see if I've got everything right for their use-case.

I'm working on WeRoster most days so I'll likely have a lot more to write about!

Want to see more like this? I only post updates once every few weeks.