Custom iPhone App for Customer Service with Chat Management, AI, and Secure Data Handling

Job ID: 39041309

Budget: £10 – £15 GBP

Project Overview:
We are looking to develop a custom iPhone app for our customer service team to manage interactions with our platform users (students and tutors). The app will integrate with our existing backend via APIs to handle user identification, manage chats, and securely store conversation data and media files in S3 and the database. Key features include secure agent login, chat handling, AI-powered initial responses, and team collaboration.

Scope of Work:
1. Integration with Existing Backend API
The app will leverage the existing backend APIs to:
Identify users as Tutors, Students, or Unregistered.
Store and retrieve all chat data and media files.
Send OTPs for two-factor authentication.
Send email and push notifications to agents and users.
Log agent login details (device type, IP address, timestamps).
2. Chat and Media Handling via API
All chat messages (text and metadata) will be sent and retrieved using the existing API.
Media files (images, audio, video) will:
Be uploaded directly via the API.
Be stored in S3 through the backend and linked to the chat in the database.
The app will fetch media files securely via pre-signed URLs provided by the API.

Secure Agent Login with Two-Factor Authentication (2FA)
Login Process:
Agents log in using their email and password.
A 4-digit OTP is sent to their email (via the existing API).
Login details, including device type, IP address, and timestamp, are logged for security.

Dashboard for Agents
After login, agents will see:
Hours Worked Today: Calculated from login/logout times via API.
Average Response Time: Time taken to respond to chats.
Chats Handled Today: Total number of chats responded to or resolved.

Chat Management & Conversation Status Updates
Conversation Statuses:
Resolved.
Needs Support (escalated to a supervisor).
Waiting for Customer.
Waiting to Update Customer.
Features:
Agents can update conversation statuses via API.
Notifications for supervisors when conversations are marked as "Needs Support."
Full chat history (text + media) is retrieved from the API, including responses from ChatGPT for unregistered users.


AI-Powered Initial Interaction for Unregistered Users
Use OpenAI’s ChatGPT for handling initial queries from unregistered users:
ChatGPT answers FAQs via API integration.
Escalate unresolved queries to human agents and notify them.


Secure Data Handling
Phone Number Display:
For Students: Show only the last 5 digits (e.g., *******12345).
For Tutors: Display the full phone number.
Media Storage:
Media files will be uploaded via the existing API, which stores them in S3.
Pre-signed URLs from the API will be used to securely fetch and display media files.

Shared Team Inboxes
Tutor Shared Inbox:
Displays all tutor-related chats retrieved via API.
Accessible only by the Tutor Support Team.
Student Shared Inbox:
Displays all student-related chats retrieved via API.
Accessible only by the Student Support Team.
Inbox Features:
Filters for conversation status, customer name, or agent name.
Shared notes for team collaboration, stored via the API.
Automatic or manual assignment of chats to agents.

Push Notifications
Use Firebase Cloud Messaging (FCM) for iOS to send real-time notifications via the existing API:
New chat assignments.
Escalations to supervisors.
Unread messages or inactivity alerts.

Tech Stack
Mobile App:
Framework: React Native for iPhone-only development.
Notifications: Firebase Cloud Messaging (FCM) for iOS.
Integration:
Fully integrated with our existing backend API for data handling, notifications, and storage.
AI:
OpenAI’s GPT for unregistered user interactions.

Deliverables:
A fully functional iPhone app with React Native.
Seamless integration with the existing backend API for data, notifications, and media storage.
Documentation for app functionality and API usage.
Deployment support to ensure the app works with our infrastructure.


Ideal Freelancer:
Expertise in React Native for iOS development.
Experience with API integrations for backend systems.
Familiarity with AI tools (e.g., OpenAI GPT).
Strong understanding of secure data handling (e.g., S3 storage, pre-signed URLs).
Experience in building chat-based apps or customer service tools is a plus.