← All field notes
Week 10·

Firebase, gear lockers, and the service desk

The heaviest week of the spring, and three separate hard things landed at once. Auth moved to Firebase everywhere - after flirting with a couple of other options, the honest calculus was "stop building auth, use the thing that works, get back to the actual product." The equipment locker shipped end-to-end, and the service-ticket system - repair intake for a dive shop's workshop - got born.

The BLE dive-computer sync fought back. There is a commit titled SWIFT TASK CONTINUATION MISUSE that represents an evening I am not getting back, and a full "parity pass with the working web client" because the phone and the browser disagreed about how to talk to a dive computer over Bluetooth.

Shipped

  • Firebase Auth across login and iOS (email, phone, Apple, Google); killed OneSignal and standardized on one push pipeline instead of two half-working ones
  • Equipment locker v1 → v3: customers add regulator systems, track service intervals, upload receipts
  • Service tickets: intake, tech directory, dynamic service forms, workbench checklists, customer pickup
  • Native tech service-entry on iOS (camera + checklist + outcome), and BLE sync that finally behaved
  • Postgres-backed idempotency keys, because paying twice is the one bug customers never forgive
© 2026 Plunkx · Dive Center Operating SystemBook a Demo →