Skip to content
All build stories

React Native · Expo · Android

Shipping a React Native helpdesk app with a PHP API to Google Play

By Rohan Mondal · · 2 min read

OrganiseDesk screenshot

A support team needed to answer tickets away from their desks, without losing anything they could do in the web portal. I built OrganiseDesk as one platform with two front ends: a PHP web portal and an Expo (React Native) Android app, both talking to the same REST API, and published the app on Google Play.

One API, two front ends

Rather than giving the app its own back end, I added a versioned REST API (/api/v1) beside the existing PHP portal and reused its database and mailer. Login, ticket lists, ticket details, replies, status and department changes, and device registration all go through the same endpoints, so web and mobile always agree.

Roles enforced by the server

Admins, restricted staff and customers see different things, and that's enforced by the API rather than hidden in the app:

  • Staff only see tickets for the companies assigned to them; missing assignments fail closed
  • Customers can create tickets and reply only to their own conversations
  • Changing a user's permissions invalidates their mobile session, so new access applies immediately

Features the team uses every day

  • Ticket priorities from Low to Critical, with active tickets sorted by urgency
  • Ticket leases shared across web and Android, so two people don't answer the same customer, plus transfer to a colleague
  • Canned responses (with attachments), CC recipients and merging duplicate tickets
  • Contact search, a safe CSV export, and bulk close
  • Push notifications through Firebase Cloud Messaging

Email that threads correctly

Most tickets start as email. Forwarded mail is ingested with Message-ID de-duplication and reply threading, so a customer's follow-up lands in the right conversation instead of opening a new ticket. Senders can be blocked per company before their mail creates or reopens anything.

Built for real phones and real networks

Mobile networks fail. API requests have bounded timeouts with visible retry, so the app never hangs silently, and the sign-in screen stays usable with the keyboard open on small Android screens.

Releases you can roll back

Each release is documented with the artifacts, verification evidence and a rollback path, and the Android build is published to Google Play. That discipline is what makes it safe to keep shipping updates to a tool a team depends on.

Related services: Mobile App Development · Web App & SaaS Development

Want something like this built?

Share a few details and within 24 hours I'll send ideas, a timeline and a free, fixed quote.