Scheduling is easy to do if you are willing to do it inefficiently.

Doing scheduling inefficiently means one or both of the following:

The Oahu Community Correctional Center currently attempts to schedule approximately 350 visits per week through a single phone line and a spreadsheet. This is "inefficient scheduling" in both senses: OCCC staff spend over 30 hours a week on the phone with potential visitors, and many visitors fail to visit their loved one due to an inability to get through to OCCC staff, or because they failed to understand and comply with requirements for visitation. This has health and safety implications: visitation is a key part of the rehabilitation process, so improving scheduling might actually improve correctional outcomes.

Kipa's design takes into account the following issues in OCCC scheduling:


Our vision for Kipa is to create technology that reduces the time, expense, and failure rate for OCCC visitation scheduling.

Benefits to visitors

While the phone line will still be available, most visitors will not need to use it. Instead, they will use Kipa (via a desktop computer or mobile phone) to guide them through the scheduling process.

Recognizing that the OCCC visitor population varies broadly in technological sophistication, the Kipa system will use text messaging whenever possible for communication with visitors. For example, Kipa will automatically generate a text message to visitors when:

Benefits to OCCC staff

One goal is a dramatic reduction in the need to schedule visits via the phone. Although phone-based scheduling will still be available, we believe that text message-enabled phones are available to almost all of the visitor population, and that they will find this a faster, more effective, less error prone, and less stressful way to manage visits with their loved ones.

A second goal is to reduce non-compliance with OCCC policies regarding visitation. Visitors will have easier access to rules regarding documentation and dress code, and the system will automatically generate reminders on the day of the visit.

A third goal is to simplify visit cancellation procedures. If an unforeseen event results in cancellation of one or more visitation sessions, OCCC staff can use Kipa to generate text messages to visitors informing them of the cancellation and providing instructions on how to reschedule.

Kipa in action

Kipa currently implements a workflow based on about a dozen pages. A Kipa user is either a "visitor" (someone who wishes to visit a detainee)or an "admin" (an OCCC staff person).

Both visitors and admin start at the following landing page:

Admins and registered users can press the button to go to the login page:

New visitors must register:

A new user, once they submit their information, must wait to be authorized by OCCC staff. During that time their home page displays this:

If OCCC staff approve the request, the home page enables them to make a visit request:

According to OCCC staff, it is OK for such requests to be immediately approved. So, the home page shows the following after selecting a visit time:

And the visitor immediately receives a text message informing them of the reservation:

Text messages are also generated in other situations.

The user can cancel and re-reserve visits as they like during the seven day interval.

Once the visit has happened, the home page goes back to enabling them to reserve a new visit.

This workflow involves interaction with OCCC staff for approval processing. After logging in, admins view the "Week" page, which shows the schedule of reserved visits for the next seven days:

An admin can click on the name of a user on this page to find out their details, to cancel their visit, or deauthorize them (which means they can no longer make visits):

Admins can also view the schedule for a single day, in a printable fashion:

Finally, admins can view the list of visitors who have registered with the system. Once their documentation has been received and processed, the admin can click on the user name to go to the manage visitor page and authorize them to reserve visits:

Screencast of live system

Click the image below to watch a 1 minute screencast illustrating live updating and text messaging:


Download and install the latest version of Meteor.

Bring up a shell, and cd into the app directory.

To run locally:

meteor npm install


Kipa can be deployed to Galaxy. To successfully deploy to Galaxy, invoke the following command from within the app/ directory: meteor deploy --settings ../settings/settings.json --owner philipmjohnson

Note that for this command to work unedited:

About Kipa development

Kipa was developed as part of the 2016 Hawaii Annual Code Challenge.

During the hackathon, the Kipa project team included: