Key Impact
- •Weekly planning reduced from hours to minutes
- •84 projects tracked with automated daily alerts
- •AI matches 44 employees to jobs by skills, certs, and availability
- •Delivered in 12 weeks, used weekly for all resource decisions
The Problem
The client, a commercial restoration contractor, handles disaster recovery for commercial properties. When a building floods or catches fire, they mobilize crews to begin restoration work.
Their challenge: matching the right employees to the right projects at the right time.
They had:
- 44 employees with different certifications, skills, and availability
- 84+ active projects at any given time
- Constantly shifting schedules as jobs completed and new ones started
- Manual tracking in spreadsheets and a clunky Procore setup
The Solution
I built an AI-powered platform that automates both opportunity discovery and resource matching.
Opportunity Discovery
The platform continuously scans for new project opportunities:
Web Scraping
Automated crawlers monitor relevant sources: public bid boards, insurance claim databases, industry news. When a potential restoration project surfaces, the system captures it.
LLM Classification
Raw scraped data is messy. The AI classifies opportunities by:
- Project type (water damage, fire restoration, mold remediation)
- Estimated scope and duration
- Required certifications
- Geographic location
- Timeline urgency
Employee-Project Matching
The core intelligence: a bulk recommendation agent that matches employees against open assignments.
Matching Criteria:
- Skills: Does the employee have the required capabilities?
- Certifications: Are they certified for this type of work?
- Availability: Are they free during the project window?
- Location: How far is the job from their home base?
- Experience: Have they worked similar projects before?
The agent analyzes all 44 employees against all open assignments, generating ranked recommendations. Project managers see a prioritized list of who should work what, with explanations for each recommendation.
Daily Alerts
The system runs continuously, surfacing high-fit opportunities as they emerge. Daily alerts notify managers when:
- A new opportunity matches available skilled workers
- An employee becomes available who's perfect for an active project
- A project is understaffed relative to scope
- Certification expirations will affect upcoming assignments
Technical Implementation
Hybrid Backend:
- Express handles real-time API endpoints
- Flask manages batch processing and ML workloads
- Azure SQL stores structured project and employee data
- Scheduled crawlers for target sites
- Change detection to avoid duplicate processing
- Content extraction pipelines for different source formats
- Feature engineering from employee and project attributes
- LLM-powered reasoning for complex matching decisions
- Confidence scoring for recommendation quality
Results
The platform replaced the client's Procore deployment entirely. They now use it weekly for all resource planning decisions.
Key outcomes:
- 44 employees efficiently matched against projects
- 84 projects actively tracked with full visibility
- Daily alerts surface opportunities before competitors
- Weekly planning reduced from hours to minutes