Software and technology are my passions. I love talking about technologies, discussing concepts, exploring new ideas and gaining perspective from people who have different experiences to my own.
Generally I have a hands on approach to problem solving. Unyieldingly enthusiastic to begin on a journey and appreciating the chance to share my discoveries along the way.
I have a background of creating start ups, building greenfield projects where I had to wholistically construct entire infrastructure architectures and manage a team.
My current role has seen me specialise in authentication (OpenID Connect), building an identity provider and consumer solution. In addition to that, I designed the front end architecture, front end infrastructure, and routinely hold company session where I share knowledge with the engineers across the teams.
I have configured webpack with typescript, babel, scss. Gulp, and all of the older task-runners. I have setup Node with typescript.
Setting up test runners and sensible testing strategies to ensure reliable services.
I have the plethora of experience working with authentication. I have written OAuth OpenID servers and clients. I am currently working on developing the first OpenID certified Go Relying Party (Client).
I have worked extensively with Docker and continuous deployment environments. As an example, this website pushes directly to AWS S3, sits behind AWS CloudFront and has it’s nameservers managed by AWS Route 53 and does so from Gitlab’s pipeline service. Though I have achieved similar things from BitBucket and am anxiously awaiting GitHub’s actions
At Zip, I have conducted many brown bag sessions where I share knowledge I have learned with the other engineers in the company. I have done talks on front end best practices, back end patterns when using Node, session on the Go language.
By and large the response has been positive. People tend to find the talks interesting and informative. It’s extremely rewarding to have people come back to me afterwards and ask me questions or discuss areas I hadn’t thought about.
In addition to this, I hosted a program where I was teaching engineers on AWS. Discussing the different services, how they connect, how to use security groups, VPCs, auto scaling with target groups and ECS.
I have recently started recording videos for youtube and writing articles on Medium. My goal is to share knowledge and get people interested in the technologies I enjoy.
I am still learning the ropes to this. I need to get a better microphone, perhaps a webcam and learn how to properly segment the videos so they are more easily digestible.
In this video I walk through setting up an API using Go and the HTTP router Chi. I get into the testing of handlers and packages, as well as some information on how to use interfaces to simplify testing.https://www.youtube.com/embed/zeme_TmXyBk
In this video I set up an Angular client on an existing http server that is using Go and the web framework Gin. I cover some simple ideas like two way databinding, structural directives and modules.https://www.youtube.com/embed/pHRHJCYBqxw
Zip is a fintech that operates in the lending space. My responsibilities at Zip are full stack development with a focus on front end.
I led the engineering of a hackathon project which, within 3 months of going to prod, made Zip the largest gift card retailer in Australia by a 20% margin.
I hosted educational seminars and informative talks on talks and tooling.
In my time at Zip I have
Marshall Installs is a consumer electronics / whiteware installation & delivery company.
I was contracted to work on a software solution to their existing paper-based management.
The software spans different aspects of the company, and is used to manage deliveries, drivers and delivery loads. The software was made in Angular, Node and Mongo as a PWA and involves real time updating.
BrownPaperBag is an incredible digital agency based in Auckland, New Zealand.
This role involved a new greenfield project every other week. Each project brought with it new challenges, and requirements.
The owner of the agency along with the team members were extremely supportive of taking initiative and exploring new technologies. This led me to learn new technologies and help the company offer new services.
Before long BrownPaperBag was offering app development and web app development, leveraging my skills in Angular and Cordova.
After I left, I continue to act as an external consultant for the agency and often catch up with the employees there.
Delivery management software that allows users to add job bookings which contain information including a google maps link to the job destination, status updates with image uploads, job types and more.
Using a drag and drop interface, delivery bookings can be added to driver runs, which get assigned to staff.
Staff use the app to then go through their delivery itinerary and update the jobs as they complete them.
Admins looking at the console will see updates change live.
A native app which acts as a student portal. The app has an integrated calendar which admins push events to.
A messages builitin area which is updated by admins and can be replied to by students.
An area to show off grades from assessments.
A native app to help manage the daily tasks of drivers working for the organisation.
Drivers are tasked with collecting items from sites and communicating the contents.
The app allows drivers to take photos and to instant message chat with the headquarters