Dutch National Police

Offline-capable mobile apps for the police

Senior Software Engineer – e-office

Apr 2014 – Dec 2014

For the Dutch National Police, I designed and built cross-platform mobile apps in JavaScript with Cordova, for Android and iOS.

The apps had to work in the field, where a connection is often poor or absent. I designed and built a reusable sync module that apps hand their data and attachments to. It keeps everything in queues on the device and sends it to the server when it can: it bundles small items, sends large attachments in chunks, moves failed items to an overflow queue and expires what is too old. Every part is covered by unit tests, and a demo app shows how to use it. The module and the apps were taken into use.

Part of the work was moving a legacy BlackBerry app to Cordova, so it runs on current Android and iOS devices.

Just as important was what stayed behind. I extracted a shared mobile core for future apps, trained the eight in-house developers through workshops and one-on-one coaching, and set up a reusable JavaScript architecture with them, so they could build and maintain the apps on their own.

As a Senior Software Engineer, my responsibilities included:

  • Designing and building cross-platform mobile apps with Cordova for Android and iOS
  • Designing and building a reusable offline sync module with queuing, bundling and chunked uploads
  • Migrating a legacy BlackBerry app to Cordova
  • Extracting a shared mobile core and a reusable JavaScript architecture
  • Training eight in-house developers through workshops and coaching
JavaScriptHTMLCSSKnockoutZeptoCordovaNode.jsXcodeAndroid StudioGenymotionWeinreJenkinsGit

Related work

← Newer projectOlder project →

LET'S BUILD SOMETHING

Whether you're migrating to headless, rescuing a legacy system, or need senior engineering capacity—let's start the conversation.

$start_conversation

info@crafity.com · Randstad, Netherlands