Remote Full-Stack Developer – Construction Tech AI Integrations Building AI-Powered Workflow Automation

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

TYPE OF WORK

Any

SALARY

$8/hr

HOURS PER WEEK

TBD

DATE UPDATED

Mar 7, 2026

JOB OVERVIEW

About the Company
Connacht Group is a Chicago-based general contractor specializing in hospitality construction projects. We manage complex commercial construction workflows involving detailed project management, subcontractor coordination, procurement, and contract management across multiple properties.
We’re modernizing our operational workflows by integrating AI and automation to reduce administrative burden on our project teams and improve project delivery outcomes.

The Role
We’re seeking an experienced full-stack developer to design and build multiple custom integrations that connect Claude AI, Procore (our project management platform), and other business tools we rely on. This is a long-term engagement to build several interconnected systems that will streamline critical workflows across our project teams.
Primary Integration: Claude + Procore Submittal Automation. This is a fully remote position.

What You’ll Build:
A web-based application that uses Claude AI to automate two critical construction workflows:
1. Submittal Generation System
? Ingests project specification PDFs ( ---------- pages)
? Integrates Microsoft Project schedules
? Uses Claude to parse specs and identify all submittal requirements
? Generates comprehensive submittal logs in Excel format
? Creates Procore submittals via API
? Supports interactive refinement (users ask questions, Claude refines analysis)
2. Submittal Review System
? Accepts incoming submittal packages (shop drawings, certifications, test reports, cut sheets)
? Retrieves project specifications and drawings from Procore
? Uses Claude + OCR to extract technical data from submittals
? Cross-checks compliance against specs and drawings
? Generates detailed PDF compliance reports with citations to spec sections
? Uploads review results back to Procore
? Supports iterative clarification loop with users
Key Technical Requirements:
? Procore API integration (OAuth authentication, submittal creation/updates, file uploads)
? Claude API integration (vision, document analysis, multi-turn conversations)
? PDF processing and OCR (handling scanned documents, technical drawings)
? Microsoft Project file parsing (.mpp, .xml schedule files)
? Web application frontend (React or similar) for upload, review, and approval
? Backend service (Python/FastAPI or Node/Express)
? Cloud hosting and database design
? Comprehensive error handling and validation
Secondary Integrations
You’ll also be building 2-3 additional integrations (to be discussed in detail upon engagement) that likely involve:
? Asana ? Procore task synchronization
? Email/Microsoft Teams notifications and workflows
? Custom reporting and data pipeline automation

Technical Skills Required
Core Requirements (Must Have)
? 5+ years full-stack development (Python + React/Node, or equivalent modern stack)
? API integration experience – comfortable working with REST APIs, authentication (OAuth, API tokens), rate limiting
? PDF/document processing – experience with libraries like PDFPlumber, PyPDF, or similar
? Database design – SQL, schema design, proper data modeling
? Cloud platform experience – AWS, Google Cloud, or Azure (deployment, storage, security)
? Authentication & Security – securing API keys, environment management, HTTPS/TLS, data handling
Highly Valuable
? Large Language Model (LLM) integration – experience with Claude API, GPT APIs, or similar (prompt engineering, token management, cost optimization)
? OCR & Computer Vision – Tesseract, OpenCV, or similar libraries
? Construction industry knowledge – familiarity with construction workflows, Procore, or project management tools
? Procore API experience – prior integrations with Procore platform
? Document understanding – experience parsing technical documents, specifications, or complex PDFs
Nice to Have
? Experience with Model Context Protocols (MCPs) for AI integration
? GraphQL experience
? CI/CD and testing infrastructure (pytest, Jest, GitHub Actions)
? Serverless architecture (Lambda, Cloud Functions)
? Real-time features (WebSockets, Server-Sent Events)

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0020
Controller Execution Time ( Jobseekers / Job )  0.0158
Total Execution Time  0.0186
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,513,904 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Remote-Full-Stack-Developer-Construction-Tech-AI-Integrations-Building-AI-Powered-Workflow-Automation-1595801
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0088 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1595801
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 837467
 LIMIT 1 
0.0015   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1595801
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-18',ej.date_added) duration_daysDATEDIFF('2026-04-18',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-18',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1595801' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1595801 
0.0008   UPDATE employer_jobs SET hit_counts '***Mar-07-2026=215***Mar-08-2026=67***Mar-09-2026=73***Mar-10-2026=30***Mar-11-2026=26***Mar-12-2026=18***Mar-13-2026=7***Mar-14-2026=3***Mar-15-2026=3***Mar-16-2026=3***Mar-17-2026=1***Mar-18-2026=2***Mar-19-2026=4***Mar-20-2026=4***Mar-21-2026=5***Mar-22-2026=11***Mar-23-2026=1***Mar-24-2026=1***Mar-25-2026=4***Mar-26-2026=5***Mar-27-2026=2***Mar-28-2026=1***Mar-29-2026=2***Mar-30-2026=2***Mar-31-2026=80***Apr-01-2026=47***Apr-02-2026=4***Apr-03-2026=1***Apr-04-2026=5***Apr-05-2026=1***Apr-07-2026=1***Apr-08-2026=1***Apr-09-2026=4***Apr-10-2026=2***Apr-11-2026=2***Apr-18-2026=1' WHERE job_id'1595801'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Mar-2026=570***Apr-2026=69' WHERE job_id'1595801'  
0.0010   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1595801' 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` = 1595801 
0.0020   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '837467'
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)