---
title: "Permit to Work, an Android app pitch for DiGi's contractors"
description: "DiGi put out a tender for a permit-to-work system, so we pitched an Android app for their project managers and contractors. A five-step permit, approvals up the chain, and an admin site."
url: "https://rayson.me/writing/digi-permit-to-work/"
category: "Pitches"
author: "Janarayson"
published: 2015-04-17
---

Another pitch for DiGi, after [StreamCast](/writing/digi-streamcast/), but this one is for the contractors who work on their sites. DiGi put out a tender for a Permit to Work system, and we presented ours at their pitch event.

A permit to work is what a contractor needs before they can do a job at a DiGi site, like replacing a fibre cable, and it has to be approved before the work starts. We'd never seen how the contractors did it before this, so everything in the pitch came from reading the tender. What we proposed was three parts: an Android app for the contractors and their sub-contractors, an app for DiGi's project managers, and a web app for the admins. Three kinds of user, so three views of the same system, in DiGi yellow.

<Screens
  screens={[
    { src: splash, alt: 'The splash screen: a worker ID badge icon in a blue circle on DiGi yellow, with the DiGi logo and Let\'s Inspire' },
    { src: permits, alt: 'Permit To Work, the permit list: PTW-000-KL1 at Menara Han Seng, PTW-001-PJ3 and PTW-023-PJ4, each with a status icon, and a blue plus button' },
    { src: legend, alt: 'The legend for the status icons: permit submitted, permit approved, permit rejected, job completed, and job completed with incident' },
    { src: step1, alt: 'New Application, step 1 of 4: personal details with name, mobile and designation, then company details' },
  ]}
  caption="The splash, a sub-contractor's permits, the legend, and the start of a new permit."
/>

## The permit as a wizard

The permit form became a five-step wizard. Who you are and your company, then the work site, where you can drop a pin on a map instead of typing an address, then the dates and the hazards, a checklist of things like falling from height, chemicals, fire and electrical. Then the workers. Each one gets added with a photo of their CIDB licence, their PPE and their working-at-height card, straight from the phone's camera. The last step is a summary to check before you submit.

<Screens
  screens={[
    { src: step2, alt: 'New Application, step 2: the work site, with name, site ID, longitude and latitude, and the contact person' },
    { src: hazards, alt: 'Potential Hazards: a checklist with falling from height, falling object, chemical, hit by an object, drowning, fire, electrical, explosion and radiation' },
    { src: newWorker, alt: 'New Worker: name and IC number, then photo slots for the CIDB licence, the WAH card and PPE, with a photo of a licence and of safety gear already added' },
    { src: summary, alt: 'The summary before submitting: the applicant, Tegas Jujur Engineering, the work site on a map, the contact person and the work detail' },
  ]}
  caption="The work site, the hazards, adding a worker, and the summary."
/>

## Up the chain

A sub-contractor's permit goes to the main contractor first. They approve it or reject it, and if they approve it, it goes up to the DiGi project manager, who checks it against a safety checklist, the helmet, the harness, the respirator, and approves or rejects it too. Every step sends an SMS or a push notification to whoever's waiting on it. When the job is done, the sub-contractor marks it complete, or complete with an incident, and writes up what happened.

<Screens
  screens={[
    { src: sendForApproval, alt: 'A main contractor sending a permit for approval: a dialog saying by approving you will be submitting the PTW to DiGi for review, with Decline and Submit' },
    { src: pmApproval, alt: 'The DiGi project manager approving PTW-001-PJ3: Approved with the following operational control, a checklist of required PPE, and Reject and Approve buttons' },
    { src: complete, alt: 'Complete job?: a green tick shield, the immediate project manager will be notified, with Complete and Complete With Incident buttons' },
    { src: incident, alt: 'Incident Report: a text box describing slight tremors at the base of the tower and a dropped wrench, and a Submit button' },
  ]}
  caption="Sending a permit up, the project manager's checklist, completing a job, and an incident."
/>

## The admin site

The admins get a web app, with every permit in one list, filtered by status, and each permit's details: the applicant, the company, the site on a map, the hazards and the workers.

<Figure
  src={webPermits}
  alt="The DiGi PTW web app: Latest permits to work, a table of permits with date, PTW ID, submitted by, project manager and a status icon, with a Show Latest filter"
  caption="The permit list, on the web."
  wide
/>

<Figure
  src={webDetail}
  alt="A permit on the web, PTW-112-BU2: the applicant and company, the DiGi project manager, the validity period, the work detail, the work site on a map, and the hazards"
  caption="One permit, with its site and hazards."
  wide
/>
