# James Blair

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

## Skills

  • - JavaScript, TypeScript, Kotlin, Python, C++, C#
  • - React, Next.js, Astro, Hono, Tailwind CSS
  • - Sanity CMS, Stripe, Amazon SES, Cloudflare
  • - Git, Docker, Linux

## 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
  • Next.js
  • 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

### 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

### 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.

## Contact