A hackathon is a weekend where programmers, domain experts, designers and problem owners collaborate to create a prototype and pitch an idea. This isn't a tech revolution, however it's really great experience. Over the past weekend, WorkingMouse and MEC Mining teamed up and rocked the Unearthed Hackathon. The event was held at River City Labs in Fortitude Valley, Brisbane.
The problems for the hackathon were posted by Newcrest and BHP Coal. The two Newcrest problems were rock fragmentation of block caves and predictive maintenance on cyclone pumps. The two BHP problems were the recognition of geophysical logs and the supply chain custody of samples.
Over the weekend, our team - fondly named WorkingMine - ended up working on the â€˜supply chain custody of samples' problem. The problem was that samples were being lost or moving slowly through the custody chain. On the surface one might assume that the problem has been solved by Australia Post and other courier services, but the unique problem in mining is that the samples go off due to oxidisation which can be accelerated by temperature and more fragmentation. This makes it important to not only to be able to locate the sample, but to be able to monitor it and allow the labs to upload results to minimise human error and administration overhead.
The plan was to geolocate each sample and then report this and other metrics. For our team's live demo we built a GPS-enabled electronics device to send locations to a developer API. (A classic example of the possibilities emerging with the Internet of Things revolution). We had the location displayed in real-time on a map by mimicking a truck driving down the East Coast of Queensland. The audience then got to watch the pins appear on the map as the truck moved. We geofenced a facility and as the truck entered this, a push notification was sent to a mobile that was placed on the judge's desk, alerting them of the samples location. They could then click on the pin to find out more information about the sample.
This was a very cool demo and I may be a little biased, but our demo was possibly the most advanced of the evening. So how did we achieve so much in a short amount of time? The answer is our low-code platform for rapid application development. In the rest of this post we are going to dive deep into the weekend. Not to spoil some of the fun, but within half an hour of starting on Saturday morning we already had over 90,000 lines of code completed! This is all thanks to efficient use of APIs and, of course, our Innovation Platform.
Friday Night - Day 1
Friday night was all planning (and a couple of beers). We had the opportunity to talk with the problem owners and mentors about the problems in depth. Two problems stood out for us. Plan A was - predictive maintenance on cyclone pumps from Newcrest - and Plan B was - supply chain custody of samples from BHP Coal. Here is a photo of our conceptual maps.
We realised very quickly that Plan A hinged on the data set and how well we could predict the pump failures. So, after understanding the data set and using some machine learning algorithms - specifically we used a random forest regression as it seemed a good fit - we could only predict within a 15 day range and the problem owner wanted a larger range. Given the time restraints of the weekend, we pivoted and changed to Plan B, the supply chain custody of samples.
Saturday - Day 2
Day 2 started with a great breakfast supplied by RIIT, in fact, the whole weekend was catered and the food was spot on. After re-confirming the plan we all got to work. One of the first tasks when building on our Innovation Platform is to start with the plug-in model. Building the plug-in model is like building a database schema. Some of the entities we included were Sample, Batch, Drill Hole, Seam, Site, Facility, Geopoint, Geofence, etc and all their relationships.
The next step is one of the most satisfying for us. It's time for the robots and code generators to do their job. After clicking the big red button - 762 files and 92384 lines of code were created (see screenshots below). That's a huge saving as traditionally we would have had to hand code everything from scratch.
"That's amazing! I didn't think that was even possible." Tim Cooper - Senior Mining Consultant
With the application now well underway, it was time to look at the user interface. This is arguably the most important part of any application. A great user experience (UX) can make or break the deal. So, we started by examining the requirements and identified that the following questions are the most important to answer:
- Where is the sample now?
- When is a sample going to expire?
- Can I receive an alert about a sample for certain conditions?
- How many samples have been lost?
The other major part of the application is the electronic device that will be attached to each dispatch of samples. So, as a prototype we decided to use an Arduino device with WIFI and GPS. The plan is to use the device to send its GPS location at regular intervals over a network. The obvious flaw is that such a device will not have WIFI access when it is enroute. But there is a viable option that will be discussed in our business case on day 3, so we are happy to use this as a prototype.
Sunday - Day 3
Day 3 is demo day so it was time to push on. We had some UI wireframes from the day before but these needed to be finalised into the code. The MVP was split into 2 main functional areas: dashboard and map. The dashboard was designed to answer those important questions like; how many samples are approaching oxidisation? The map allows users to see the location of all their samples and to look at the samples in a facility.
The afternoon went well and we finished our technical demo without an hour to spare. It was quite a complex demo because we had four different systems. Firstly, we had the Arduino electronic device sending GPS locations. We had a server receiving via a developer API. We had the browser showing the map and the pins appearing in real-time as the truck drove down the east coast of Queensland and arrived at a facility that was geofenced. We had a mobile-app on an Android phone that received a push notification and also had a map whereby the user could interact with the samples and pins (as seen above).
We had a fun weekend and it was fantastic to work with the team from MEC Mining. Well done to our team including Tim Cooper, Jamie Jongebloed, Leo Mylonas, Isaac Joekong, Samuel Windall and myself. Overall it was a very professional and polished performance.
We'd also like to offer a huge thanks to the organisers for the weekend! Unearthed is run by RIIT, a company who realise that the resources industry currently contributes 9% of Australia's GDP and 48% of Australia's exports. However, both decreasing productivity and a softening demand threaten this contribution. RIIT believe that a sustainable technology innovation ecosystem will improve the competitiveness of the Australian resources industry and drive substantial growth in the economy as a whole. Unearthed is one of a number of initiatives they have contributing to the future of the mining ecosystem. Smart-cities and agriculture are here, and so is smart mining. The Internet of Things and other tech revolutions are going to be driving change for years to come. For more like this, check out WorkingMouse's hackathon history.