Build custom mobile interface using FieldPulse API

We're evaluating building a stripped-down mobile interface for our technicians using the FieldPulse API — basically a custom PWA that hits the standard REST endpoints and renders what we need without the full native app experience.

Before I sink too much time into prototyping, has anyone actually gone down this road? Specifically curious about:

  • Offline behavior — does the API expose conflict resolution, or are we rolling our own sync logic?
  • Photo upload reliability over spotty cell — any gotchas with the multipart/form-data endpoints?
  • Real-time updates — polling /work_orders every 30s feels wrong. Webhooks to a mobile PWA seems awkward too.

I've got a basic proof-of-concept working for read-only views, but I'm hitting some friction around session handling that makes me wonder if this is a path FieldPulse actually supports or just tolerates.

YMMV obviously, but would love to hear from anyone who's shipped something like this to actual techs in the field.

Parents
  • Update: POC is live with three techs. Ended up with Leo's approach — lambda-based chunked upload, append-only notes, and API keys rotated weekly via GitHub Actions hitting the admin API.

    The OAuth/refresh token mess was a rabbit hole I didn't need. For our threat model (company-owned devices, no PII beyond names/addresses), the key approach is fine. Fatima's point about audit trails is well-taken — we're logging every mutation server-side before forwarding to FieldPulse, so we have attribution even if the key itself is shared.

    One actual bug I hit: the work_order.status_changed webhook fires before the checklist data is fully persisted, so if you're relying on webhooks to trigger sync, you get stale checklist payloads. Polling with updated_since is more reliable for now. I've opened a ticket, no ETA.

    Happy to share the lambda code if anyone wants it — DM me.

Reply
  • Update: POC is live with three techs. Ended up with Leo's approach — lambda-based chunked upload, append-only notes, and API keys rotated weekly via GitHub Actions hitting the admin API.

    The OAuth/refresh token mess was a rabbit hole I didn't need. For our threat model (company-owned devices, no PII beyond names/addresses), the key approach is fine. Fatima's point about audit trails is well-taken — we're logging every mutation server-side before forwarding to FieldPulse, so we have attribution even if the key itself is shared.

    One actual bug I hit: the work_order.status_changed webhook fires before the checklist data is fully persisted, so if you're relying on webhooks to trigger sync, you get stale checklist payloads. Polling with updated_since is more reliable for now. I've opened a ticket, no ETA.

    Happy to share the lambda code if anyone wants it — DM me.

Children
No Data