Work

Case studies

What the problem was, what I built, and what changed. Written for people who want the engineering detail, not the brochure.

2026Indiana Field Archery Association

Rebuilding a 60-year-old association's website

A volunteer-run state sports body was running WordPress on a PHP version that had been end-of-life for three years, with half its pages unreachable and every competition result buried in a PDF. I rebuilt it as a static site with a real content model, cut running costs from $283 a year to about $12, and handed the board a CMS they can actually use.

  • Running costs cut from $282.69/yr to ~$12/yr
  • 395 legacy documents kept at their original URLs, so no existing link broke
  • 19 previously unreachable pages brought back into the site
  • Astro
  • Sanity CMS
  • Cloudflare Pages
  • Pagefind
  • GitHub Actions
2022 — presentResponse Technologies

A panic button, an app, and the cloud between them

A BLE-enabled personal safety device where pressing a button has to raise an alarm — reliably, from a coin-cell device, through a phone that may be backgrounded, to a backend that has to notify someone within seconds. I own the firmware, both mobile apps and the serverless infrastructure behind them.

  • Shipped on both public app stores
  • Firmware, apps and infrastructure under one owner, so the protocol has one author
  • REST API that integrates with a wide range of EMS providers
  • Zephyr RTOS
  • Nordic SoC
  • Swift
  • Kotlin
  • MQTT
  • Terraform
  • AWS Lambda
2018–2024LISNR

Data over sound, from embedded C++ to the browser

LISNR transmits data as inaudible high-frequency audio. I built the portable C++ SDK that ran it on payment terminals and conference hardware, the low-latency audio stacks on iOS and Android, and then the WebAssembly port that brought the whole thing to a browser tab.

  • Ultrasonic audio running in a browser with no plugin or install
  • WebAssembly binary reduced by 20% while adding capability
  • SDK ported to third-party hardware including payment terminals and conference systems
  • C++11
  • WebAssembly
  • Web Audio API
  • Swift
  • Kotlin
  • React Native
  • Docker