Millwork Estimator

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

TYPE OF WORK

Full Time

SALARY

$2,000 per month

HOURS PER WEEK

40

DATE UPDATED

Jul 16, 2026

JOB OVERVIEW

If you can read a set of drawings and instantly see scope, takeoff, shop hours, install realities, and vendor needs—this is your role.

We’re hiring a senior, detail-obsessed Remote Millwork Estimator to produce accurate, well-documented estimates for custom millwork, cabinetry, and furniture. This is estimating only (no project management). You’ll work fast, clean, and precise under tight deadlines.



What You’ll Do

- Review drawings, schedules, and specs to define scope
- Perform detailed takeoffs (millwork, cabinetry, furniture)
- Build full estimates: materials, finishes, hardware, labor, shop + engineering hours
- Coordinate pricing with upholstery, metal, glass, and specialty vendors
- Flag assumptions, exclusions, RFIs, and risk items
- Deliver clear, client-ready estimates/proposals
- Maintain cost libraries and estimating databases
- Collaborate with engineering, construction, and manufacturing teams



What You Bring

- 3+ years estimating architectural millwork / cabinetry
- Proven success pricing complex custom builds
- Strong drawing + spec interpretation
- Real understanding of field/installation conditions
- Deep knowledge of materials, manufacturing methods, and supplier pricing
- Vendor coordination experience (upholstery, metal, glass)
- CAD + estimating software proficiency
- AutoCAD required
- Cabinet Vision / Microvellum preferred
- Familiar with AWI / QCP standards
- Experience with submittals, shop drawings, or change orders
- Commercial + residential experience
- Strong English communication
- Microsoft Office + Google Workspace proficiency

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0189
Total Execution Time  0.0203
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,492,256 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Millwork-Estimator-1581851
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0134 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1581851
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 905715
 LIMIT 1 
0.0012   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1581851
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-21',ej.date_added) duration_daysDATEDIFF('2026-07-21',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-07-21',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1581851' 
0.0012   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1581851 
0.0008   UPDATE employer_jobs SET hit_counts '***Feb-17-2026=155***Feb-18-2026=284***Feb-19-2026=96***Feb-20-2026=56***Feb-21-2026=27***Feb-22-2026=17***Feb-23-2026=37***Feb-24-2026=27***Feb-25-2026=21***Feb-26-2026=28***Feb-27-2026=14***Feb-28-2026=15***Mar-01-2026=9***Mar-02-2026=10***Mar-03-2026=13***Mar-04-2026=10***Mar-05-2026=11***Mar-06-2026=11***Mar-07-2026=7***Mar-08-2026=6***Mar-09-2026=10***Mar-10-2026=10***Mar-11-2026=6***Mar-12-2026=7***Mar-13-2026=15***Mar-14-2026=3***Mar-15-2026=5***Mar-16-2026=5***Mar-17-2026=8***Mar-18-2026=1***Mar-19-2026=2***Mar-20-2026=3***Mar-21-2026=3***Mar-22-2026=3***Mar-23-2026=7***Mar-24-2026=5***Mar-25-2026=5***Mar-26-2026=3***Mar-27-2026=10***Mar-28-2026=1***Mar-29-2026=2***Mar-30-2026=7***Mar-31-2026=6***Apr-01-2026=2***Apr-02-2026=5***Apr-03-2026=5***Apr-05-2026=4***Apr-06-2026=7***Apr-07-2026=5***Apr-08-2026=6***Apr-09-2026=5***Apr-10-2026=8***Apr-11-2026=3***Apr-12-2026=1***Apr-13-2026=3***Apr-14-2026=1***Apr-15-2026=3***Apr-16-2026=8***Apr-17-2026=4***Apr-18-2026=1***Apr-19-2026=3***Apr-20-2026=2***Apr-21-2026=14***Apr-22-2026=1***Apr-23-2026=3***Apr-24-2026=2***Apr-25-2026=4***Apr-27-2026=3***Apr-28-2026=4***Apr-29-2026=9***Apr-30-2026=10***May-01-2026=5***May-02-2026=8***May-03-2026=6***May-04-2026=4***May-05-2026=4***May-06-2026=4***May-07-2026=5***May-08-2026=3***May-09-2026=7***May-10-2026=3***May-11-2026=1***May-12-2026=10***May-13-2026=8***May-14-2026=3***May-16-2026=2***May-17-2026=4***May-18-2026=5***May-20-2026=3***May-21-2026=7***May-22-2026=3***May-24-2026=4***May-25-2026=7***May-26-2026=6***May-27-2026=3***May-28-2026=2***May-29-2026=4***May-30-2026=2***May-31-2026=4***Jun-01-2026=1***Jun-02-2026=449***Jun-03-2026=153***Jun-04-2026=101***Jun-05-2026=55***Jun-06-2026=34***Jun-07-2026=21***Jun-08-2026=35***Jun-09-2026=46***Jun-10-2026=32***Jun-11-2026=27***Jun-12-2026=24***Jun-13-2026=15***Jun-14-2026=20***Jun-15-2026=28***Jun-16-2026=23***Jun-17-2026=9***Jun-18-2026=19***Jun-19-2026=16***Jun-20-2026=6***Jun-21-2026=15***Jun-22-2026=11***Jun-23-2026=16***Jun-24-2026=28***Jun-25-2026=70***Jun-26-2026=9***Jun-27-2026=1***Jun-28-2026=2***Jun-29-2026=4***Jun-30-2026=2***Jul-02-2026=6***Jul-03-2026=4***Jul-04-2026=1***Jul-05-2026=2***Jul-06-2026=1***Jul-07-2026=2***Jul-09-2026=1***Jul-11-2026=1***Jul-13-2026=3***Jul-14-2026=5***Jul-15-2026=1***Jul-16-2026=1***Jul-17-2026=1***Jul-18-2026=1***Jul-21-2026=1' WHERE job_id'1581851'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Feb-2026=777***Mar-2026=204***Apr-2026=126***May-2026=127***Jun-2026=1272***Jul-2026=31' WHERE job_id'1581851'  
0.0017   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1581851' 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` = 1581851 
0.0053   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '905715'
AND `date_added` >= '2022-06-08' 
0.0005   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)