Remote HVAC Estimating & Takeoff Specialist

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

TYPE OF WORK

Gig

SALARY

$100-$150 per gig

HOURS PER WEEK

40

DATE UPDATED

Feb 19, 2026

JOB OVERVIEW

Long Heating & Cooling is a growing residential and commercial HVAC company based in Missouri, USA. We are focused on fast response, professional presentation, consistent communication, and high-quality installations.
We are building structured systems, SOPs, and scalable processes to support growth. We are looking for a remote estimating professional to assist with HVAC takeoffs and bid preparation on a per-project basis.

Position Overview
We are seeking a detail-oriented Remote HVAC Estimator / Takeoff Specialist to assist with:
Reviewing construction plans
Performing HVAC material takeoffs
Quantifying ductwork, equipment, fittings, accessories
Organizing bid summaries
Assisting in assembling commercial and residential proposals
This role is project-based (gig work). You will be paid per completed takeoff or per bid package.
Responsibilities
Time tracked on Clockify and pay based on agreed upon hourly rate.
Review PDF blueprints and mechanical drawings
Perform accurate HVAC takeoffs including:
Duct sizes and linear footage
Fittings and transitions
Grilles, registers, diffusers
Equipment schedules
Exhaust fans and specialty items
Identify missing information or conflicts in plans
Create clean, organized takeoff summaries in Excel or Google Sheets
Follow provided SOP and bid templates
Communicate clearly regarding questions or assumptions
Deliver work within agreed deadlines
Qualifications
Required:
Experience in HVAC estimating or mechanical takeoffs
Ability to read mechanical and architectural plans
Strong attention to detail
Proficiency in:
Excel or Google Sheets
Reliable internet connection
Ability to meet deadlines
Preferred:
Experience with U.S. commercial construction
Understanding of SMACNA standards
Experience estimating residential new construction HVAC
Compensation
This is a subcontractor position paid per project.

Larger commercial projects: negotiated per job
Payment is issued after completed and approved work.
Consistent performers will receive recurring project assignments.
Work Structure
100% Remote
Flexible schedule
Deadlines required
Ongoing relationship for the right candidate

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0188
Total Execution Time  0.0202
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,493,048 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Remote-HVAC-Estimating-Takeoff-Specialist-1583557
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0117 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1583557
 LIMIT 1 
0.0010   SELECT *
FROM `employers`
WHERE `employer_id` = 871406
 LIMIT 1 
0.0011   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1583557
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-16',ej.date_added) duration_daysDATEDIFF('2026-04-16',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-04-16',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1583557' 
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1583557 
0.0010   UPDATE employer_jobs SET hit_counts '***Feb-19-2026=139***Feb-20-2026=94***Feb-21-2026=43***Feb-22-2026=40***Feb-23-2026=28***Feb-24-2026=23***Feb-25-2026=14***Feb-26-2026=21***Feb-27-2026=10***Feb-28-2026=9***Mar-01-2026=5***Mar-02-2026=12***Mar-03-2026=12***Mar-04-2026=12***Mar-05-2026=11***Mar-06-2026=13***Mar-07-2026=5***Mar-08-2026=10***Mar-09-2026=15***Mar-10-2026=6***Mar-11-2026=9***Mar-12-2026=5***Mar-13-2026=6***Mar-14-2026=3***Mar-15-2026=3***Mar-16-2026=11***Mar-17-2026=12***Mar-18-2026=8***Mar-19-2026=7***Mar-20-2026=15***Mar-21-2026=4***Mar-22-2026=5***Mar-23-2026=12***Mar-24-2026=3***Mar-25-2026=6***Mar-26-2026=13***Mar-27-2026=22***Mar-29-2026=6***Mar-30-2026=4***Mar-31-2026=4***Apr-01-2026=9***Apr-02-2026=12***Apr-03-2026=4***Apr-04-2026=5***Apr-05-2026=5***Apr-06-2026=3***Apr-07-2026=11***Apr-08-2026=2***Apr-09-2026=22***Apr-10-2026=6***Apr-11-2026=4***Apr-16-2026=1' WHERE job_id'1583557'  
0.0013   UPDATE employer_jobs SET monthly_hits '***Feb-2026=421***Mar-2026=259***Apr-2026=84' WHERE job_id'1583557'  
0.0014   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1583557' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1583557 
0.0024   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '871406'
AND `date_added` >= '2022-06-08' 
0.0006   select from teasers 
0.0004   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)