Projects

Quake 3 Server Status API

q3query | WIP

Quake 3 servers use UDP for network communication. I’m writing a web service to make it easier to access a server’s status (player counts, map, live score, and other game settings) via a REST API.

This will be complemented with a simple web frontend, and a Discord bot to serve timely updates to a channel/on demand with a slash command.

There are plenty of opportunities to leverage Go’s concurrency features in this project, and I’m excited to continue building with it here.

Looking forward to releasing this soon!


Static Site Generator

Powering henshall.dev | Source on GitHub.

My little slice of the internet is powered by a custom Go application that turns hand-written markdown into static HTML and CSS.

It runs on Cloudflare Pages. I use GitHub Actions workflows to continuously integrate changes and deploy updates. golangci-lint is used in parallel to catch bugs and improve consistency.

I largely stuck to a test-driven-development (TDD) approach for this project, enjoyed the iteration loop, and felt that my code was easy to work with throughout the process.

Good things:

However…


Medical Metadata Pipeline

rmo-meta-util

Part of a year-long R&D co-op project with Deloitte and Auckland District Health Board to:

Explore how innovative AI & cognitive services could be used to enhance clinician workflows for Resident Medical Officers (RMOs).

RMOs use a quick-reference handbook application when meeting patients. Sessions with RMOs and ADHB staff established the handbook as an area ripe for improvement.

My focus was on rmo-meta-util, a stripped-back demonstration of a content pipeline.

What is the value?

How does it work?

  1. Uploading a page of the RMO handbook to an S3 bucket triggers a Lambda function.
  2. The Lambda passes content through to Comprehend Medical, an NLP service for entity extraction.
  3. Entities are extracted based on the following categories: "ANATOMY", "MEDICAL_CONDITION", "MEDICATION", "TEST_TREATMENT_PROCEDURE".
  4. A number of entities over a relevance threshold are structured into custom attributes for use in Kendra.
Digital Human Project Poster
Winner of the 2021 Fisher and Paykel Healthcare Excellence Award for Best R&D Project Poster.