Software Projects

A small sample of some previous software projects.

GPS fleet tracking

Fleet tracking web portal written in ASP.NET using OpenStreetMap for map presentation and SQL/Server for data storage. Contains support for multiple clients with customisable access control and complex spatial queries for reports such as driver trip efficiency.

OpenCV movement detection

Movement detection system written using OpenCV and C# written for a client that needed to monitor an outdoor area 24/7 and trigger an SMS and audible alert when the area was breached. It required custom filtering and rules to cover events such as headlight glare because the system needed to operate with the camera facing a public street, a feature not offered by off-the-shelf movement detection systems.

Zigbee wireless sensor

This 900 MHz Zigbee wireless sensor has a range of up to 10 kilometers and while mainly designed for monitoring the temperature of industrial refrigeration units can be used as a general datalogger system. A lightweight server records data in an SQLite database and forwards via REST to a central SQL/Server database where data can be viewed either on a web page or via an Android app. The sensor's firmware performs strict sleep and power management to allow years of operation from a pair of standard AAA alkaline cells.

The firmware was written in C using Atmel Studio while the server-side code was written in C# using Microsoft Visual Studio. The Android app was written using Apache Cordova and receives alerts via Google push notifications.

Other Projects

A brief summary of some other projects:
  • Endurance riding magagement system with laptop data entry and web-based reporting. Uses Microsoft SQL/Server and Sync Framework to allow clients to operate in areas where Internet is unavailable.
  • Added driver behaviour management system to the firmware of an existing AVL (Automatic Vehicle Location) system using a combination of GPS and accelerometer data to detect erratic driving.
  • Anomaly detection of thoroughbred racehorses using accelerometer data and TensorFlow.
  • Recovery from the Internet Archive and re-hosting of a small business website lost due to closure of the original host.
  • System using OpenCV in combination with machine vision cameras and infrared beacons to provide real-time analysis of sporting races.
  • Simple accounts payable reconciliation system for a client that wanted to avoid purchasing the full SAP commerce module.
  • Rewrote assembler firmware for an antenna tuning unit in C to target a modern microcontroller after the original became obsolete and no longer available.
  • Provided documentation and audit of firmware for a power safety product before it went into mass production.