Senior Full-Stack & Mobile Engineer — Next.js, Supabase, React Native

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

TYPE OF WORK

Full Time

SALARY

12

HOURS PER WEEK

40

DATE UPDATED

Jul 28, 2026

JOB OVERVIEW

We are looking for a highly capable **Senior Full-Stack & Mobile Engineer** to take ownership of an existing SaaS platform called **Pool Companion**.

Pool Companion is a software platform built for pool service businesses. The product is already substantially developed and includes:

* Web-based office dashboard
* Technician iOS app
* Job scheduling and recurring bookings
* Route optimisation
* GPS technician tracking
* Customer and property management
* Water testing and chemical recommendations
* Before/after job photos
* Service reports
* Customer communication
* Equipment and service history
* Technician workflows
* Reporting and business analytics

The platform has been built primarily using AI-assisted development and is already functional.

We are now looking for a **genuinely senior engineer** who can take the existing codebase, audit it properly, improve its architecture and reliability, and help turn it into production-grade commercial SaaS software.

This is not a role where you will simply be given small tickets to complete.

We want someone who can understand the whole product, identify problems proactively, propose better solutions and gradually take technical ownership of the platform.

## What You Will Be Responsible For

Your initial responsibility will be to perform a thorough technical review of the existing Pool Companion platform.

You will then work with the founder to:

* Audit the existing codebase and architecture
* Identify technical debt and high-risk areas
* Review database design and Supabase implementation
* Review authentication and multi-tenant data security
* Review Supabase Row Level Security policies
* Improve application reliability
* Improve performance where necessary
* Fix bugs found during real-world technician use
* Improve the iOS/mobile application
* Improve GPS and background location tracking
* Improve offline and poor-connectivity behaviour
* Improve photo uploading and data syncing
* Improve API integrations and webhook reliability
* Review Stripe/payment integrations
* Improve automated testing
* Improve deployment and release processes
* Create and maintain staging and production environments
* Implement monitoring, logging and error reporting
* Review and improve AI-generated code
* Help determine what should be refactored and what should remain
* Build new features as the product evolves

The founder currently operates a real pool service business, so Pool Companion will be tested in real-world conditions every day.

You will receive direct feedback from technicians actually using the platform in the field.

## Technology

Our current stack includes:

* Next.js
* React
* TypeScript
* Supabase
* PostgreSQL
* React Native / iOS
* APIs and webhooks
* Stripe
* GitHub
* Cloud hosting
* AI-assisted development tools

Experience with most of this stack is important.

## What We Are Looking For

We are specifically looking for someone with strong experience building and maintaining real production SaaS applications.

You should be comfortable working independently and making technical decisions.

You should have strong experience with:

* Next.js
* React
* TypeScript
* Supabase
* PostgreSQL
* Database architecture
* Multi-tenant SaaS applications
* Authentication and permissions
* Row Level Security
* API integrations
* Webhooks
* Mobile development
* React Native or similar frameworks
* Git and GitHub
* Testing and debugging
* Production deployments
* Security
* Performance optimisation

Experience with background GPS/location tracking on iOS would be highly regarded.

Experience with Stripe, notifications, mapping, routing or field-service applications would also be valuable.

## AI Development

We actively use AI development tools.

We are not against AI-generated code — quite the opposite.

However, we need someone experienced enough to know when AI-generated code is:

* good
* inefficient
* insecure
* badly architected
* unnecessarily complicated
* likely to cause problems later

You should be comfortable using AI to increase development speed while maintaining strong engineering standards.

We are not looking for someone whose entire development process is simply copying requirements into an AI tool and accepting whatever code it produces.

## How We Will Work

We want a relatively simple development process.

You will have clear weekly priorities.

We will use tools such as:

* GitHub
* GitHub Projects or Linear
* Slack
* Loom
* Staging environment

For completed features, we expect a short Loom video demonstrating what has changed and how it works.

You will also provide a short written daily update covering:

**Completed**
What was completed today.

**Working On**
What you are currently working on.

**Blocked**
Anything you need from us.

**Next**
What you plan to work on next.

We care much more about **working software and outcomes** than monitoring every hour of your day.

## What Success Looks Like

The first major goal is simple:

**Make Pool Companion reliable enough that our own pool service business can run its daily operations through it confidently.**

Once that is achieved, we will begin onboarding external pool service businesses.

The longer-term goal is to build Pool Companion into a leading software platform for pool service companies.

There is significant opportunity for the right person to grow with the company and potentially move into a:

**Lead Engineer / Head of Engineering / CTO-level position**

as the business grows.

## Employment

* Full-time
* Long-term position
* Remote
* Salary depending on experience
* Performance reviews
* Long-term growth opportunity

We are willing to pay toward the top of the range for someone genuinely exceptional.

## How To Apply

Please include the following in your application:

1. A brief introduction about yourself.
2. How many years of professional software development experience you have.
3. Your experience with Next.js, Supabase and React Native.
4. Examples of SaaS products you have personally worked on.
5. Your experience with multi-tenant architecture and data security.
6. Your experience with mobile apps and background location/GPS.
7. Your GitHub profile or portfolio, where available.
8. Your expected monthly salary in PHP.
9. Your availability to start.
10. Tell us about the most technically difficult SaaS problem you have personally solved.

Please also answer this question:

**You inherit a large SaaS application that was mostly developed using AI. What are the first five things you would investigate before allowing external paying customers to use it?**

Applications that do not answer this question may not be considered.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0135
Total Execution Time  0.0149
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,522,936 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-Full-Stack-Mobile-Engineer-Nextjs-Supabase-React-Native-1697667
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0079 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1697667
 LIMIT 1 
0.0010   SELECT *
FROM `employers`
WHERE `employer_id` = 848877
 LIMIT 1 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1697667
AND `misc`.`idIS NULL 
0.0005   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 '1697667' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1697667 
0.0012   UPDATE employer_jobs SET hit_counts '***Jul-28-2026=320***Jul-29-2026=45***Jul-30-2026=32***Jul-31-2026=33***Aug-01-2026=27***Aug-02-2026=9***Aug-03-2026=30***Aug-04-2026=22***Aug-08-2026=1' WHERE job_id'1697667'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Jul-2026=430***Aug-2026=89' WHERE job_id'1697667'  
0.0007   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1697667' 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` = 1697667 
0.0012   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '848877'
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)