James Blair

Kia ora! I'm a first-year Computer Science student at The University of Auckland.

 

Projects

WaiMUN

Built and deployed the full-stack event platform in collaboration with organising committee members – managing registration, payments, personalised badge generation and automated emails for 126 registered students across 15 schools.

  • TypeScript
  • Astro
  • Tailwind CSS
  • Sanity CMS
  • Airtable
  • Stripe
  • React Email

Air Quality Monitor

Developed an air quality monitor on an ESP32 in C++, pushing serialised eCO2, TVOC and climate readings to a Hono/Drizzle REST API, with a Next.js frontend displaying live statistics using TanStack Query.

  • C++
  • Arduino
  • TypeScript
  • Hono
  • Drizzle ORM
  • Next.js
  • Tailwind CSS
  • TanStack Query

RHS Netball

Developed a static website using Astro, serving assets from Cloudflare R2 – optimised for fast load times, giving coaches and umpires quick access to resources, photos and the embedded calendar.

  • TypeScript
  • Astro
  • SolidJS
  • Tailwind CSS
  • Sentry

Homelab

Maintain self-hosted infrastructure for learning production-style operations, including Linux servers, Docker services, reverse proxies, DNS, backups, and home networking.

  • Linux
  • Docker
  • Caddy
  • Cloudflare
  • Networking

PaperSpigot Fork

Identified and patched a state desync bug in PaperSpigot – out-of-range block placements were rejected without a corrective client update, causing ghost blocks. Fixed by forking the project and issuing the missing update packets.

  • Java
  • PaperSpigot
  • Minecraft
  • NMS

Bridging Plugin

Developed a multiplayer game server plugin in Kotlin, implementing a session replay system, packet-level NMS hooks, and a persistent MariaDB database layer using Exposed and coroutines for async handling.

  • Kotlin
  • Spigot
  • Exposed
  • MariaDB

Hackathons

DEVS x SESA Hackathon 2026

Team First Try · 3rd place · Intergalactic Space Agency Helpdesk

Built a fast-paced helpdesk game where players answer alien support tickets against the clock using an in-app reference manual. The app combines a Next.js game UI, FastAPI ticket generation, and an Express/OpenRouter semantic answer checker.

  • TypeScript
  • Next.js
  • Express
  • FastAPI
  • OpenRouter

GDGC Hackathon 2026

Team Picasa · Most Promising award · Repstation

Prototyped a reputation-backed marketplace for sharing items and proving trust. The app includes user accounts, marketplace listings, claims and attestations, skill proof flows, uploads, chat features and a trust-scoring model built around community verification.

  • TypeScript
  • Next.js
  • Drizzle ORM
  • Postgres
  • UploadThing

WEB3UOA Hackathon 2026

Team No Clue · Bonus Distribution

Created an employer dashboard for calculating and distributing employee bonuses on Base Sepolia. It pairs wallet-based onboarding, AI-assisted bonus summaries and payout history with a Foundry smart contract that transfers dNZD bonuses to employees.

  • TypeScript
  • Hono
  • TanStack Router
  • SQLite
  • Solidity

Contact