← Home

Projects

↓ Image Gallery · Bandform · CRISiSLab Mesh Network

Bandform

Making it simple to find a band, find band members, or start a band

Find a band

Match with bands that share your taste and apply for open positions.

Find members

Search for people with similar taste and invite them to join.

Start a band

Invite people yourself, or let the generator add people who opt in.

Backend · Spring Boot + GraphQL

Built by hand, and where I first learned Spring Boot. Data lives in PostgreSQL.

Frontend · React

Built on top of the GraphQL API, with help from Claude.

Now · Live

Running on my home server. Mobile versions are in development.

CRISiSLab Mesh Network

Disaster-resilient LoRa communications for remote sensors when earthquakes take out the grid

Field testing · LoRa

Field-tested devices at Mākara Beach, Cuba Street and Island Bay.

Deployment · ~60 nodes

Deployed around 60 devices with community hosts I recruited through an expression of interest campaign.

Monitoring · React + Rust

Gateways relay telemetry via Mosquitto to an API server. I built the React frontend (telemetry, locations, and route updates that stop flood routing) and a Rust (Rocket) auth server.

Firmware · Memory fix

Fixed a route-update task that silently failed after 6–7 runs: fragmented memory left no 4096-byte block, so I allocate it once at startup and reuse it.

Paper · Published 2026

Wrote and presented a paper on the work so far, published in early 2026.

↑ back to top