React Native / Expo Developer

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

TYPE OF WORK

Full Time

WAGE / SALARY

500

HOURS PER WEEK

40

DATE UPDATED

May 12, 2025

JOB OVERVIEW

Company Introduction:

Motorcycle Riders Hub is the premier e-learning destination for motorcycle enthusiasts, combining expert-led video courses, interactive theory quizzes, and instructor-scored practical sessions. We’re on a mission to make rider training seamless and engaging, we need a skilled React Native/Expo developer to help us elevate our mobile experience.

Job Description:

As our lead mobile developer, you’ll fully own feature enhancements, bug fixes, and performance optimisations within an Expo + TypeScript codebase. You’ll report directly to the project lead, working closely with UX/UI designers to deliver pixel-perfect screens, integrate backend APIs, and ensure smooth over-the-air updates. This is a 12-month engagement with potential for full-time conversion based on your impact.

Key Responsibilities:

- Feature Development & Maintenance: Refactor, extend, and harden existing student–instructor flows (forms, scoring, resource recommendations).
- API Integration: Consume AWS API Gateway endpoints secured via Cognito authentication.
- Media & Quiz Modules: Optimise our video player and third-party quiz components, with an eye toward bundling them natively in-app.
- Collaboration: Partner with UX/UI to translate Figma designs into production-ready screens, ensuring fidelity and responsiveness.
- Release Management: Coordinate Expo Updates (OTA), manage app store submissions, and resolve platform-specific issues.
- Testing & Quality: Write and maintain unit and integration tests to uphold code quality and prevent regressions.

Skills and Qualifications:

- Experience: 3+ years shipping production React Native applications, including x1 year with Expo.
- TypeScript Proficiency: Deep understanding of typing patterns, Redux or Context APIs, and React Hooks.
- Auth & APIs: Familiarity with AWS Cognito auth flows (sign-in, token management) and consuming RESTful endpoints.
- Performance Tuning: Comfortable with profiling tools (Flipper, React DevTools) and strategies for memory, CPU, and bundle-size optimisation.
- Tooling & Workflow: Proficient in Git/GitHub workflows, CI/CD pipelines, and code review processes.
- Communication: Strong written and verbal skills for async collaboration across time zones; you will report directly to the project lead.

Work Arrangement:

- Remote: Fully distributed team.
- Duration: 12-month engagement with optional full-time conversion.
- Hours: Flexible. No strict overlap required, though UK-friendly overlap is appreciated.

Compensation:
- Budget: Up to USD 500/month (hourly or milestone basis).
- Timing: Development phase begins after UX/UI design sprints conclude.
- Negotiable: Within project scope and experience.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0009
Controller Execution Time ( Jobseekers / Job )  0.0272
Total Execution Time  0.0287
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,520,032 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/React-Native-Expo-Developer-1375138
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0214 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0009   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1375138
 LIMIT 1 
0.0013   SELECT *
FROM `employers`
WHERE `employer_id` = 761358
 LIMIT 1 
0.0107   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1375138
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-19',ej.date_added) duration_daysDATEDIFF('2026-06-19',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-06-19',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1375138' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1375138 
0.0009   UPDATE employer_jobs SET hit_counts '***May-12-2025=30***May-13-2025=42***May-14-2025=25***May-15-2025=7***May-16-2025=3***May-17-2025=2***May-18-2025=1***May-19-2025=1***May-20-2025=5***May-21-2025=7***May-22-2025=2***May-23-2025=4***May-25-2025=3***May-26-2025=1***May-27-2025=1***May-28-2025=1***May-29-2025=3***May-30-2025=1***Jun-02-2025=2***Jun-03-2025=3***Jun-04-2025=4***Jun-05-2025=2***Jun-06-2025=1***Jun-07-2025=1***Jun-09-2025=2***Jun-10-2025=2***Jun-11-2025=3***Jun-12-2025=1***Jun-13-2025=1***Jun-15-2025=1***Jun-17-2025=2***Jun-18-2025=2***Jun-19-2025=4***Jun-20-2025=2***Jun-21-2025=2***Jun-22-2025=1***Jun-23-2025=2***Jun-26-2025=2***Jun-28-2025=2***Jun-30-2025=3***Jul-01-2025=1***Jul-02-2025=6***Jul-03-2025=3***Jul-04-2025=1***Jul-05-2025=1***Jul-06-2025=4***Jul-07-2025=3***Jul-08-2025=2***Jul-09-2025=2***Jul-10-2025=1***Jul-11-2025=4***Jul-12-2025=1***Jul-14-2025=1***Jul-15-2025=1***Jul-17-2025=3***Jul-20-2025=1***Jul-22-2025=1***Jul-24-2025=1***Jul-25-2025=5***Jul-27-2025=1***Jul-28-2025=1***Jul-29-2025=6***Jul-30-2025=1***Aug-01-2025=4***Aug-03-2025=4***Aug-04-2025=4***Aug-07-2025=4***Aug-10-2025=4***Aug-12-2025=3***Aug-15-2025=3***Aug-17-2025=1***Aug-18-2025=2***Aug-19-2025=4***Aug-23-2025=1***Aug-28-2025=1***Aug-31-2025=1***Sep-01-2025=1***Sep-03-2025=2***Sep-05-2025=2***Sep-11-2025=1***Sep-12-2025=1***Sep-14-2025=2***Sep-15-2025=3***Sep-22-2025=1***Sep-23-2025=1***Sep-24-2025=1***Sep-25-2025=1***Sep-28-2025=1***Oct-01-2025=1***Oct-02-2025=1***Oct-03-2025=2***Oct-06-2025=1***Oct-10-2025=2***Oct-13-2025=1***Oct-15-2025=1***Oct-24-2025=2***Oct-25-2025=1***Oct-26-2025=1***Oct-28-2025=2***Oct-29-2025=1***Nov-02-2025=1***Nov-04-2025=1***Nov-07-2025=4***Nov-08-2025=1***Nov-10-2025=1***Nov-11-2025=2***Nov-12-2025=1***Nov-13-2025=1***Nov-16-2025=1***Nov-21-2025=2***Nov-26-2025=1***Nov-27-2025=1***Nov-28-2025=1***Nov-30-2025=2***Dec-02-2025=1***Dec-05-2025=3***Dec-08-2025=1***Dec-09-2025=1***Dec-10-2025=2***Dec-11-2025=1***Dec-13-2025=2***Dec-14-2025=1***Dec-15-2025=1***Dec-19-2025=9***Dec-20-2025=2***Dec-25-2025=1***Jan-01-2026=1***Jan-05-2026=1***Jan-07-2026=1***Jan-09-2026=1***Jan-13-2026=1***Jan-14-2026=1***Jan-16-2026=3***Jan-20-2026=1***Jan-22-2026=2***Jan-29-2026=1***Jan-30-2026=1***Feb-14-2026=1***Feb-19-2026=2***Feb-22-2026=1***Mar-01-2026=1***Mar-10-2026=1***Mar-17-2026=1***Apr-13-2026=1***Apr-21-2026=1***Apr-24-2026=2***Apr-26-2026=3***Apr-29-2026=2***Apr-30-2026=1***May-02-2026=1***May-03-2026=2***May-07-2026=2***May-08-2026=1***May-09-2026=2***May-15-2026=1***May-25-2026=2***May-27-2026=4***Jun-02-2026=1***Jun-03-2026=2***Jun-06-2026=1***Jun-19-2026=1' WHERE job_id'1375138'  
0.0007   UPDATE employer_jobs SET monthly_hits '***May-2025=139***Jun-2025=45***Jul-2025=51***Aug-2025=36***Sep-2025=17***Oct-2025=16***Nov-2025=20***Dec-2025=25***Jan-2026=14***Feb-2026=4***Mar-2026=3***Apr-2026=10***May-2026=15***Jun-2026=5' WHERE job_id'1375138'  
0.0017   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1375138' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1375138 
0.0028   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '761358'
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)