Me

(As a Kiwi, this level of self-promotion makes me deeply uncomfortable, but here we go...)

Developing in a professional capacity as a full stack developer for over 10 years.

Extensive experience in implementing complex software solutions, based on varying degrees of specification.

Working closely with stakeholders, refining and architecting solutions through to deployment, maintenance and support.

I am passionate about solving real problems, working with the best tools (or getting there) and improving the overall effectiveness of the organisation and the team

I am excited about continuing to explore the benefits and opportunities of serverless/cloud solutions (in the right places)

Loving
Development
NixOS, Golang, a-h/templ, htmx, Tailwind, fish, postgres
Learning
NixOS, Go, htmx, fish
Up Next
podman,
Experience In
C#, postgres, DBT, Pulumi, Next.js + Vercel, SQL, Tailwind, BigQuery, SQL Server, Node.js, New Relic, T-SQL, ASP.NET MVC, Web APIs, IIS, AWS CDK, RESTful API design, git, CI/CD, AWS Services (S3, Lambda, Fargte), VSCode, Heroku, Entity Framework, C#, .Net Core, DI
Luxury Escapes
Luxury Escapes is one of the leading travel provider in Australia, serving over 6 million customers worldwide it is one of the top travel providers, a rapidly moving high-performance, high-scale, global e-ecommerce platform with startup-like pace of new feature development.
Tech Used
NodeJS, React, postgres, Pulumi, AWS, NewRelic, Heroku, BigQuery, Redis, various AWS services, and (after some convincing) a little bit of HTMX
Focus
Working remotely for luxury escapes allowed me to thrive across a number of domains:
  • Core Pricing & Promotion Rebuild
    • Migration of logic from the client to server
    • Braze Customer Segment integration
    • Core pricing logic
  • Google Hotel Ads integration
  • Expansion of the Contentful integration
  • Working across various product, customer and order feeds/integrations
Streamliners
Background
Streamliners manages several company platforms, including the largest, Healthpathways, which comprises of a responsive websites, publishing platform, and a shared administration and feedback system serving 30 million patients.
Tech Used
React, C#, .Net Core, ASP.NET Core Web APIs, Entity Framework, TeamCity, GitHub Actions, SQL, Unit Testing, Dependency Injection, ELK, ASP.NET Web Forms, AWS CDK + Range of AWS services including DynamoDB, Lambda, S3 etc
Focus
Whilst at Streamliners, a major focus of the work has been a move towards a cloud-based microservice based architecture. I've been really engaged by exploring the benefits and opportunities of serverless solutions for quickly developing really complex software solutions. Leading the design and implementation of these technologies gave me a first hand look at the advantages (and disadvantages!) of building and deploying cloud solutions. I've gain a huge respect for the potential for these tools to empower development teams and, quite honestly, its excites me greatly.
Scrum Master
Working with the team to improve effectiveness & apply continuous improvement principles Building Process Jira Workflows & Dashboards for the Team Running Retros Working with stakeholders to remove blockers Proposing and developing solutions for several company platforms
eStar
Background
eStar is one of Australasia’s leading e-commerce SaaS platforms creating high-end bespoke e-commerce websites for large international companies.
Tech Used
IIS, C#, SQL, .Net, ASP.NET Core Web APIs, Unit Testing, ASP.NET Web Forms
While at eStar built various system components and learnt various technologies. Development spanned the entire stack, front-end web development for client websites as well as the iSAMS administration portal. Role IIS, C#, SQL, .Net, ASP.NET Core Web APIs, Unit Testing, ASP.NET Web Forms While at eStar built various system components and learnt various technologies.
Tech Used
Development spanned the entire stack, front-end web development for client websites as well as the federated muli-client iSAMS administration portal. I had a number of opportunities at eStar, giving me a wide range of development experience across a number of teams:
  • David Jones Project Team
  • Working with large multinational clients
  • Meeting complex stakeholder goals
  • Developing and optimizing for an application operating at a very large scale (~2.5 M Visits/mth)
  • Air New Zealand
  • Leading meetings with clienta
  • Design, developed, and supported a highly custom multi-tenancy external supplier product management system requiring wide-scale refactoring of a large existing e-commerce solution
  • On Call Support (24/7)
  • Triage client on-call requests
  • Addressing and escalate as required
  • Managing the response and writing root cause incident reports
Flying Drones FPV
I love building and flying First-Person-View (FPV) Quadcopters.
(The photo of me at the top is after clambering up that mountain to retrieve a lost quad!)
Watch out for YouTube compression here!
something more scenic....
RC Model Airplanes
Currently exploring building fixed wing planes and (sometimes successfully) flying them FPV
More to come....
NZCovidMap
Locations of Interest Explorer Icon

Over the course of the pandemic, the NZCovidMap reached over 200,000 Kiwis across New Zealand, with a peak of 15,000 daily unique visitors. This tool provided people with a mobile-friendly view of Covid-19 Locations of Interest published by the NZ Ministry of Health.

  • - Circle-based location selection method
  • A Mobile-friendly map view
  • - Location specific url pathing query params + "share link to location"
  • - Generation of location-specific meta screenshots for engaging social media preview images.
  • Reddit Integration - Auto-Generate a "Location of Interest summary" for each subreddit & auto-post/update posts in relevant subreddit
NZCovidMap Screenshot
Auto updates

Each hour, the application would check for new locations in specific communities and (if a sub-reddit exists) posts for any new locations in a standard post format.

Goals
  • Provide a Mobile-friendly view of Locations of Interest
  • Raise awareness of Locations of Interests in our community.
  • Lower anxiety for those seeking updates about their community.

Tech

  • Up-to-date social Media sharing icons created for each town/city
Design
  • An n8n workflow that reads the CSV file published by the MoH. Locations are then categorized and saved.
  • An n8n workflow endpoint that returns all the locations in the last 30 days.
  • A statically rendered Next.JS site that is published each hour. A mobile-friendly interactive map with all locations marked.
  • A hourly job to build sub-reddit content and sent updates to places with new/updated Locations of Interest.

Why so complex?

    To reduce the complexity, cost and on-going maintenance cost of the application, we removed the n8n workflow the Next.JS site build on and replaced it with direct calls to the MoH API.

    This allowed the site to be fully independent of my own local infrastructure and for its whole lifetime, run entirely for free on Vercel

Christchurch Water Reporter
chch-water-reporter (live site)provides a mobile friendly, representation of water usage in christchurch, its goal is to raise awareness for water conservation and the need for more broad understanding of how we consume our natural resources.
With over 170,000 addresses on the map, the app required a dyanmic rendering system for higher zoom levels, which allowed for smooth scrolling, without compromissing on the detail display on the map.
[TODO: add more screen shots here]
Passionate football player

I caption a Sunday league team recently promoted to the top division and the Wednesday indoor football team i started recently when 23 games unbeaten (as at 26/9/21) in their third season in the competition.

I play as much as injuries allow 🤕