Senior Flutter / Dart Developer (Full-Time & Part-Time Considered)

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

TYPE OF WORK

Any

SALARY

$1300 - $2,300 per month

HOURS PER WEEK

TBD

DATE UPDATED

Jul 19, 2026

JOB OVERVIEW

Remote · Full-time or part-time · Long-term role with an early-stage product team


ABOUT US

We're an early-stage startup building infrastructure for member-owned digital communities - trusted, validated online spaces that don't monetise their members' data or attention. Our first product is a private messaging service for a specific professional community, launching in the UK and expanding internationally.

We're a small, remote-first team. You'd be working directly with our CTO on a product where trust is the entire proposition — identity validation, private messaging, and a credentialed user base mean the technical bar is high and the work genuinely matters.


THE ROLE

You'll be a senior hands-on developer on our Flutter mobile app, building and shipping features across iOS and Android from a single codebase. You'll work inside an existing codebase that we're actively improving - so you'll spend as much time refactoring and levelling up what's there as you will writing new features.

You'll be responsible for the whole codebase, working closely with the CTO on the wider architecture and making solid technical decisions as you go. We're looking for someone senior enough to work independently, take a feature from spec to store, and be trusted with a security-sensitive codebase.


WHAT YOU'LL DO

- Build, test, and ship features on our Flutter app, targeting iOS and Android from one codebase
- Work within the existing codebase - maintain, refactor, and raise the quality of what's already there
- Own specific feature areas end-to-end (for example, real-time messaging, location/search, or push-notification flows)
- Integrate with our Python/Django backend over REST APIs for identity validation, registration, and messaging
- Work with secure storage and end-to-end encryption patterns, handling sensitive user data carefully
- Integrate third-party APIs and AI/LLM models (OpenAI, Anthropic, or similar) into the app
- Write tests, take part in code review, and follow our CI/CD and release processes
- Collaborate async with a UK-based team - clear written updates, well-described PRs, and good judgement about when to ask


WHAT WE'RE LOOKING FOR

- 5+ years building production mobile apps, with at least 3 years shipping Flutter apps to the App Store and Google Play
- Strong Dart fundamentals and solid grasp of Flutter's rendering, state management, and platform channels
- Experience consuming REST APIs (a Python/Django backend is a plus)
- Firebase experience (push notifications, real-time features)
- Working knowledge of secure storage and end-to-end encryption patterns
- Comfortable inheriting and improving an existing codebase - auditing, refactoring, and raising standards without rewriting from scratch
- Solid testing, Git, and code-review discipline
- Excellent written English - this is a remote, async role and clear communication is essential
- Reliable, self-directed remote worker with a stable internet connection


NICE TO HAVE

- Mapbox or other location/mapping SDK experience
- Practical experience integrating AI/LLM models into production apps
- Native iOS (Swift) or Android (Kotlin) experience for occasional platform-code work
- Hands-on encryption / cryptography experience
- Experience integrating Yoti (or similar) identity verification


COMMUNICATION & AVAILABILITY REQUIREMENTS

- Fluent in English (written and spoken)
- Excellent communication skills
- Part-time candidates must be highly responsive to questions and messages
- Ability to clearly explain technical decisions and trade-offs
- Reliable, proactive, and professional


HOURS & TIMEZONE

This is a full-time role. While full-time availability is strongly preferred, we are also open to high-quality part-time developers who can commit to being highly responsive and communicative during agreed working hours. You'll need a reliable daily overlap with UK working hours (GMT/BST) for standups, code review, and collaboration - at least 4 hours of overlap with 9am–5pm UK time.


TO APPLY

Reply through onlinejobs.ph with:

- Your CV / résumé
- A link to a Flutter app you've shipped (App Store / Play Store link or repo)
- Your years of Flutter experience
- Your hourly and/or monthly rate
- Your availability during UK working hours (including typical response times)
- Whether you are applying for full-time or part-time work
- A couple of sentences on why you believe you are suitable for this role

Applications that do not include the above information may not be considered.

To show you've read this far, please start your application with the word SURFBOARD.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0140
Total Execution Time  0.0159
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,501,320 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-Flutter-Dart-Developer-Full-Time-Part-Time-Considered-1692164
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0071 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0008   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1692164
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 853331
 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` = 1692164
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-12',ej.date_added) duration_daysDATEDIFF('2026-08-12',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-12',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1692164' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1692164 
0.0009   UPDATE employer_jobs SET hit_counts '***Jul-19-2026=357***Jul-20-2026=237***Jul-21-2026=87***Jul-22-2026=28***Jul-23-2026=14***Jul-24-2026=22***Jul-25-2026=19***Jul-26-2026=43***Jul-27-2026=16***Jul-28-2026=19***Jul-29-2026=12***Jul-30-2026=21***Jul-31-2026=15***Aug-01-2026=12***Aug-02-2026=9***Aug-03-2026=17***Aug-04-2026=12***Aug-05-2026=11***Aug-06-2026=4***Aug-07-2026=11***Aug-08-2026=16***Aug-12-2026=1' WHERE job_id'1692164'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=889***Aug-2026=93' WHERE job_id'1692164'  
0.0007   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1692164' 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` = 1692164 
0.0010   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '853331'
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)