Full-Stack Developer – Custom CRM Build for Trade/Field Service Business

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

TYPE OF WORK

Full Time

SALARY

Will Negotiate

HOURS PER WEEK

30

DATE UPDATED

Sep 16, 2026

JOB OVERVIEW

Full-Stack Developer – Custom CRM Build for Trade/Field Service Business
About Us
Elecsol Electrical is a solar and electrical contracting business in Australia. We're building our own custom CRM / field service platform to replace generic tools like ServiceM8 — built by an electrical company, for how an electrical company actually works.
We're building it for ourselves first, but the long-term goal is to offer it to other trade businesses too — so it needs to be built properly, not just patched together. We've prototyped with AI tools and now need an experienced developer to take it from prototype to a properly engineered product.
The Role
Build and iterate on our CRM: job scheduling, quoting, lead tracking, and field service workflows
Join a weekly video call with the founders to review progress and set next steps
Run the new CRM in parallel with our existing system while it's being built, so we can compare before switching over
Long-term potential to become the ongoing developer for the product, including a possible white-label version down the track
What We're Looking For
5+ years professional coding experience (not someone relying entirely on AI tools to write code)
Comfortable using AI as a tool to speed up work — not as a substitute for understanding the code
Experience with full web app development: frontend, backend, and database
A clear communicator who can explain technical decisions in plain English
Available for a weekly meeting at [confirm time] AEST
Paid Test Project (Before Hiring)
Before we commit, shortlisted candidates will be asked to complete a small paid dashboard project with a one-week deadline. This lets us see how you work and interpret requirements — not just review your portfolio.
Compensation
How to Apply
Send your CV, portfolio, and a short note on your experience.
Shortlisted candidates will be given the paid test project, followed by a group interview.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0021
Controller Execution Time ( Jobseekers / Job )  0.0244
Total Execution Time  0.0273
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,487,904 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Stack-Developer-Custom-CRM-Build-for-TradeField-Service-Business-1731744
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0143 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0020   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1731744
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 725279
 LIMIT 1 
0.0015   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1731744
AND `misc`.`id` IS NULL 
0.0004   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-09-24',ej.date_added) duration_days, DATEDIFF('2026-09-24',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-09-24',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1731744' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1731744 
0.0007   UPDATE employer_jobs SET hit_counts = '***Sep-16-2026=732***Sep-17-2026=248***Sep-18-2026=88***Sep-19-2026=53***Sep-20-2026=1***Sep-23-2026=2***Sep-24-2026=1' WHERE job_id= '1731744'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=1125' WHERE job_id= '1731744'  
0.0007   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1731744' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1731744 
0.0061   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '725279'
AND `date_added` >= '2022-06-08' 
0.0004   select * from teasers 
0.0007   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)