Hey, I'm Greg
{ a software developer, homelab, linux, 3d printing and fpv drone enthusiast }
{ based in Christchurch, New Zealand [ ] }

Highly driven, full stack software developer with 11 years of experience developing against and architecting enterprise level systems

Loving
Development
AlpineJS, NixOS, Golang, a-h/templ, Buluma, htmx, fish, postgres
Learning
NixOS, AlpineJS, OpenSCAD/BOSL2, Buluma
Up Next
podman, More OpenSCAD
Experience In
React, Golang, C# + .Net, 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, Solid/RESTful API design, git, CI/CD, AWS Services (S3, Lambda, Fargte), VSCode, Heroku, Entity Framework, C#, .Net Core, DI and probably a few more...
Open to new software development opportunities... Only considering fully/mostly remote roles.
OpenSCADGen

A cli tool for generating OpenSCAD 3d models from an .scad file and .toml config file

Github
Sports Team Fines

Golang application for tracking players, roles, games and seasonal fines for a sports team

Github
hx-tomselect

(wip) htmx extension that configures TomSelect Multi-select via simple html attributes

This is a simple htmx extension that allows you to configure TomSelect Multi-select via simple html attributes

Github
Christchurch Water Reporter

A experiment in mapping the average water usage in Christchurch, New Zealand

More Info a image of christchurch with circles representing how much water each address uses
Locations of Interest Explorer Icon
NZCovidMap

During the pandemic, the New Zealand Ministry of Health published the locations of interest, the locations of interest were published via a address list, but wasn't mapped, searchable, sharable, or mobile-friendly (fair enough, they were busy!). I identified the need and published this app to provide a mobile-friendly view of these locations of interest.

To spread awareness, i extended the app to include a reddit bot that would post to relevant subreddits when a new location was added or updated.

With these efforts, the NZCovidMap reached over 200,000 Kiwis across New Zealand, with a peak of 15,000 daily unique visitors.

  • - 4.5k users in the first month
  • - 15k daily unique visitors
  • - 200k total visitors
  • - 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 - Including Auto-Generate & Update of 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
  • [Ingest] An n8n workflow that reads the CSV file published by the MoH. Locations are then categorized and saved in a sqllite db via n8n.
  • An endpoint (also n8n) 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.
  • Self-referential automatic meta image generation

Why so complex?

    To reduce the complexity, cost and on-going maintenance cost of the application, i 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)
This is an attempt at representation of water usage in christchurch, its goal was 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 dynamic rendering system to enabled smooth scrolling across 170,000 points, without compromising on performance or detail display on the map.