iOS Developer Needed for Companion App

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

7.50

HOURS PER WEEK

40

DATE UPDATED

Jul 27, 2026

JOB OVERVIEW

We are looking for an experienced iOS developer to build a simple companion app based on completed UI designs.

The app will allow existing customers to:

Log in using their existing account details
Receive push notifications
View recent notifications in a recap feed
Tap a notification to open the relevant deal
Manage notification modules, filters, and basic account settings

We will provide the required REST APIs for authentication, account information, deals, notification history, and user preferences.

The developer will also need to create a secure API endpoint that allows our internal systems to send custom push notifications to:

Individual users
Multiple users
Selected notification groups
All eligible users

Custom notifications should support a title, message, optional image, deal ID, notification type, and deep link. Notifications should also be stored in the user's notification history where applicable.

Requirements
Strong Swift and SwiftUI experience
REST API integration
Apple Push Notification Service integration
Secure authentication and Keychain storage
Push-notification deep linking
Device-token registration and management
Experience building secure backend API endpoints
TestFlight and App Store submission experience
Ability to accurately implement supplied designs
Deliverables
Completed native iOS application
Integration with our existing REST APIs
Push notification setup
Custom push notification API
Notification history and deep linking
Clean, maintainable source code
TestFlight build
Support with App Store submission
Basic API documentation

This is an initial MVP with a limited number of screens, but we expect ongoing development and additional features over the next 12 months.

Please include examples of previous iOS apps, push-notification integrations, and backend APIs you have developed.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0138
Total Execution Time  0.0151
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,483,264 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/iOS-Developer-Needed-for-Companion-App-1697345
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0083 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1697345
 LIMIT 1 
0.0011   SELECT *
FROM `employers`
WHERE `employer_id` = 938394
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1697345
AND `misc`.`idIS NULL 
0.0010   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-08',ej.date_added) duration_daysDATEDIFF('2026-08-08',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-08-08',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1697345' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1697345 
0.0009   UPDATE employer_jobs SET hit_counts '***Jul-27-2026=632***Jul-28-2026=37***Jul-29-2026=25***Jul-30-2026=13***Jul-31-2026=9***Aug-01-2026=10***Aug-02-2026=7***Aug-03-2026=13***Aug-04-2026=1***Aug-08-2026=1' WHERE job_id'1697345'  
0.0008   UPDATE employer_jobs SET monthly_hits '***Jul-2026=713***Aug-2026=32' WHERE job_id'1697345'  
0.0015   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1697345' AND status LIKE 'sent%' ORDER BY id DESC  
0.0002   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1697345 
0.0007   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '938394'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)