A service for Health and Safety Consultants Work in progress

Over the last nine months I’ve been building an online service for Health and Safety Consultants called the Business Safety Net. This  article explains how the constituent parts fit together and how the development process has gone, from gathering requirements, writing tests, back end Rails, front end angular and on to marketing.

Who is it for ?

The Business Safety Net is for Health and Safety Consultants who are responsible for helping a bunch of other small businesses stay compliant with rules and regulations.     A typical consultant might have dozens of clients, each having dozens of ways to stay compliant, cleaning kitchens, fridges, flues, ovens,  insuring vehicles, paying road tax,  carrying out vehicle MOTs and so on.

How does it help Health and Safety Consultants ?

Consultants sign up to the online service and choose a subdomain like jens-kitchen.business-safety-net.co.uk. Then they add user accounts for people at their client ( eg Jens Kitchens) so that these people can be assigned tasks.

The consultant then works with her client to identify ‘liabilities’, for instance vehicles, equipment and people who need regular checks.  Lastly the checks needed on each liability are scheduled and assigned to users.

The responsible user gets emails and SMS messages to warn when a check is coming up, and again when it becomes overdue.  The boss can also subscribe to these warnings.

Users see a list of tasks that look like traffic lights, the red ones at the top being most urgent.


We use a Postgres database hosted on Heroku served by a Rails back end through a RESTful API.

The front end is written in Angular JS using Bootstrap UI.     I chose not to use Rails for the front end, preferring to just serve up json for Angular to interpret using Restangular.

Emails are sent using Send With Us and Mailgun. SMS messages go out via Essendex.

The API has a set of RSpec specs and the front end a suite of end to end protractor tests.  For authentication I used Devise Token Auth together with ng-token-auth.

The main domain goes to a WordPress blog and users have subdomains. Each client gets their own version of a Postgres Schema, accessed using the Apartment gem.

Guy Roberts

About Guy Roberts

A freelance developer who conjures up Software as a Service using Angular JS, SQL, Ruby on Rails and Java. Runner, dad and glider pilot.