Checkpoint Live
Checkpoint Live is a real time management platform for events with checkpoints or bases.
Date: 03/2017 - present
Role: Creator - design, back end & front end
Initially developed for the Scout and Guide communities we created Checkpoint Live to make our event's safer and easier to administrate. Those beginnings formed into the Checkpoint Live service and now it can be used by any event with manned checkpoints/bases.
Checkpoint Live is for the leaders or marshals, not the participants themselves. It connects event staff via the website to collect and collate sightings of participants in real time so you know who has been seen when and where. With the added ability to record any scores taken at that location.
Importantly it removes the data entry by the event's admin team and allows them monitor the event on their mobile devices.
Features
Offline-first
Checkpoint Live is an offline-first website, meaning that once you have visited the site for the first time it will load and be functional to the user even if you don't have any mobile internet signal. You could also download the site to your home screen and use it like a native application.
Synchronisation
Utilising CouchDB with NodeJS and PouchDB on the client. Data is synchronised between the cloud and each person on an event. When someone lost connection their information was still saved locally waiting to be sent to CouchDB in the cloud when they reconnected.
Event Creation
Checkpoint Live has an two tier user model, an Admin user and event users:
An admin creates the event, uploads their event branding, selects their settings for security and defines the checkpoints for the participant teams. This user would also pay for the event via a Stripe integration.
All other users will log in via a username and password for the event before selecting the checkpoint they manage or enter a checkpoint specific password for added security.
Logging
The premise of Checkpoint Live was to capture logs from each base in the event. Users would enter into their 'Checkpoints' and then use a simple form to enter team data. These are stored as small JSON objects which can be indexed by PouchDB and CouchDB databases. It was also possible to integrate CouchDB with Microsoft Excel and poll for updates via Excel.
Messaging
To aid communication in the events, I created a message data structure and utilised the synchronisation tools to create a real-time chat for the event.
App Styling
Checkpoint Live is designed to be used on location, on a mobile device. As such it was important to provide a user interface that would be familiar to both IOS and Android users. To achieve this I utilised the OnsenUI Component library. OnsenUI used the device type metadata to change the styling of the website to better match an IOS or Android look and feel.