TB-14 — Photo Upload Optimization (Device-Level)

Summary

Complement the server-side image optimizer with client-side browser compression to reduce upload times and bandwidth for field inspectors on cellular connections. Target: match server-side settings (2400px long edge, 85% JPEG) so the server optimizer becomes a no-op for pre-compressed images.

What it produced

  • imageCompressor — client-side compression in portal UI (browser-image-compression or canvas API)
  • Enhanced image_optimizer.py with skip-if-already-optimized heuristic
  • 80%+ bandwidth reduction for typical 10-30 photo inspection uploads

Connections