Like what you see?

Have an opening that you think I might be interested in? Or just want to chat about technology?

Then please get in contact.

Contact Adam »

Portfolio

Employment Assistance Evidence Catalogue

Research and Evaluation is a team at the Ministry of Social Development that is responsible for evaluating the performance of hundreds of employment programmes that the Ministry runs to assist job seekers with getting into employment.

The Employment Assistance Evidence Catalogue is a tool for publishing findings about the effectiveness of those employment programs.

The tool is updated regularly as more evidence is collected and programmes effectiveness begins to evolve over time as suffient data is collected.

Ultimately the Ministry has a responsibility to share the effectivness of its programmes. The Employment Assistance Evidence Catalogue is a way to increase transparency of those evaluation results by publishing and sharing them with the New Zealand public.

Social Development Data application

The Social Development Data application is a tool for exposing data that the Ministry of Social Development holds about numbers of people receiving benefits.

It provides breakdowns of benefit recipient counts by benefit type, age, ethnicity, gender and geographic boundaries.

The tool was developed in response to increased requests for counts of the number of benefit reciepients by ministers and curious members of the New Zealand public.

As a result of developing and maintaining this tool, these users could access the data they wanted which reduced requests and freed staff to focus on responses to more detailed questions.

Introduction to Programming Worksheets

I am often seeking ways to share knowledge with others, normally the others are peers with a similar skill set to me, but sometimes people do not already have an understanding of programming and want to learn

As part of a wider initative to build empathy in cross disciplinary teams, I extended these Intro to Programming Worksheets, originally created by the Raspberry Pi Foundation, to run a short course on understanding programming.

The worksheets and the learning that ran along side it was well received and the wider initative was effective in building an appreciation for how others deliver value within a team.

Land Record Search

Land Record Search is a web application to search for and purchase documents that comprise the official Land Register of New Zealand

The goal of the STEP program was to replace the legacy application used by Surveyors and Conveyancing Professionals (Solicitors) to modify the Land Register. These functions are not available to the general public and require authentication to reach. You can see the entry point of that application, Landonline, here

The move to a web based application however, allowed us to release a read-only subset of features to the general public, that is Land Record Search.

Firefly 6

Firefly is a learning management system designed to connect students and teachers together outside of the classroom.

Firefly has two major components. A hosted web accessible application and an iOS app. Both are designed to be accessed by students, parents and teachers and the experience is tailored to their respective needs.

Firefly is a Software as a Service application. The hosted web application, which is the core Firefly product, is initially populated with the data from a schools student/staff management system to create accounts and load class information. From there, the application can be logged into and used from anywhere with a web browser and Internet connection.

The iOS app works by connecting to an API that the hosted Firefly instance for a school exposes to share data. Once an initial download is performed the app can be used offline, however for changes to show for all users the app must be synced back to the hosted instance.

The version 6 release focused on extending the existing rigid homework workflow from teacher assigns homework → student submits work → teacher marks homework to a much more free form conversation style approach where students could ask questions, submit draft copies of work for a chance at early feedback from the teacher (via annotated documents, text notes or voice recordings) and even submit multiple revisions of their submission.

Smart Clean/Smart Water

Smart Clean was a proof of concept precursor to the Smart Water project.

Initially the project involved collecting and cleansing data. Data points included stormwater drain data (co-ordinates, cleaning dates), weather data (rainfall, wind speed etc.), road data (slope, road speed, urban/rural) and lab reports about the level of pollutants in samples from drains.

Next it was necessary to build a predictive machine learning model showing relative pollutant risk levels across a drainage network.

The final part of the project was to produce a web accessible visualisation showing the risk on a map of the area.

The visualisation was populated from the model results, which could take into account the live weather predictions for the coming days or be used to review historic dates to validate the model.

KAMAR Web

The KAMAR Web is a set of web services designed to expose data from the KAMAR student management system via the web.

There are really three distinct parts to the KAMAR Web Services:

First, the Parent Portal, where parents and students can log in to see various pieces of read-only information about their student, submit a change of personal details, select courses of study, submit answers to interview questions etc. all of which shows in real time as it communicates with the schools instance of the KAMAR database.

Second, the KAMAR Web API, an XML based API that 3rd parties and the KAMAR Mobile apps used by students/parents/staff use to query information from the KAMAR database. Users/software authenticate against the API and are issued an authentication token that is valid for 24 hours. This token allows them to run authenticated queries against the database using the access level of the original account.

Finally, there is the administration area, where a school administrator will go to control which aspects of the KAMAR Web are available, and to which users. An administrator can control which queries users can run as well as revoke API keys from this interface.

The software can be downloaded from the KAMAR Website, however it is only available to schools using the KAMAR software. There is a demo of the KAMAR Web software available online. A carefully worded Google search will return results for KAMAR Web instances.

KAMAR Android App

The KAMAR app for Android was created using PhoneGap and jQueryMobile and modeled to behave similarly to the iOS app that had already been developed.

The app connects to the KAMAR Web API to pull student data out of the KAMAR student management system as XML. The app then processes the XML, loads it into objects and displays it for the app user to see. All queries are cached to reduce load times for viewing the same data a second time and to reduce data use on the mobile device.

Because the app was designed using PhoneGap, it is rendered using a web browser engine on the device. However, there is no server side scripting and all application flow is done via JavaScript using jQuery Mobile to load HTML documents bundled into the app.

CSS media queries are used to scale appropriately between tablet/phone views as well as change based on device orientation.

The app can be downloaded for free from the Google Play Store.

KAMAR Website

The KAMAR Website is primarily an online manual for the KAMAR student management system

The website is designed to provide easy access to current news items, manual pages describing features of the software and downloads for the KAMAR software and the support software necessary to run it, to staff using the KAMAR software in their school.

The site makes heavy use of AJAX JavaScript to deliver content quickly and provide a responsive environment to the user at all times. It will also fully degrade if client side scripting is disabled or a web client produces an error executing the scripts. Essentially, it will always work for everyone.

When authenticated, the website provides an online chat facility with the KAMAR Helpdesk. The chat is based on a heavily modified version of the Candy chat client. There is also an upload facility based on jQuery File Upload. Administrators can also manage user accounts for other staff at their school as well as view outstanding and paid invoices.

View the KAMAR Website online

CodinGame

I have spent some time on CodinGame to sharpen my programming skills. See my progress on CodinGame

Kaggle Account

I have only just started with Kaggle (a Data Science contest website), but you can view my Kaggle profile if you are interested in how effective my Machine Learning skills are.

Project Euler Account

I have completed a handful of problems on Project Euler, you can view my progress in the included image.