Menu
SaaS

Site issue alerting and ticket resolution app for multi-location businesses

A cross-platform mobile client that pushes site issues to the staff responsible for them and lets them resolve or dismiss a ticket in one swipe, with push notifications that route correctly whether the app is open, backgrounded, or fully closed.

Client — a multi-location facilities SaaS
Concept visuals — not actual screenshots
01 — Challenge

When something needs attention at a physical location, the person who notices it is rarely the person who can fix it, and the person who can fix it is rarely at a desk. The existing path was a phone call, a radio, or a note nobody read — reports didn't reach the right person, nobody could confirm afterward whether an issue was actually dealt with, and the business had no idea how long resolution actually took. This build was the responder half of that loop: the phone client field staff use to receive, action and close tickets raised elsewhere in the client's system.

02 — Approach

Treated notification routing as the core problem rather than a finishing touch, implementing all three ways a push notification can arrive — foreground, background tap, and cold start — including the case most implementations skip: on a cold start, the payload is captured and held in local storage, then replayed once the navigation container has actually mounted, so a tap from a fully closed app still lands on the right screen for the right role.

Sign-in is passwordless: a phone number, an international dial-code picker, and a one-time passcode exchanged for a session token, because passwords are a support burden for a shift-based workforce that doesn't need one more thing to remember. The device's push token is registered at sign-in and explicitly deregistered server-side at sign-out, not just dropped locally, so a shared or reassigned device doesn't keep receiving someone else's tickets. Resolving an issue is a single swipe gesture rather than an open-scroll-confirm sequence, and the client was kept deliberately small — no state management framework, a single hand-written HTTP client — because an app with a handful of screens doesn't need the ceremony a larger one would.

03 — Impact

Issue reports reach the person who can act on them instead of waiting to be noticed, and a notification tap lands somewhere useful in every app state, including the case where a user is opening a fully closed app specifically because of the alert. Resolving a ticket takes one gesture, so the queue actually gets worked rather than accumulating, and closed tickets stay visible with their outcome and who actioned them, so resolution is auditable rather than assumed. Field staff and an administrative view of business performance ship from one binary, each with a navigation stack built for that role alone.

Stack
React NativeReact NativeReact NavigationAxiosFirebase Cloud MessagingTwilio
More work
Automated hosting, domain and WordPress platform with registry integration→Sprig — multi-tenant marketing platform with AI content and a unified inbox→Multi-tenant association platform with per-tenant cPanel and database isolation→

Something holding you back?

New build, rebuild, or adding AI to what you already have — I'll take a look and give you an honest perspective.

Get in touch ↗