Scaffolding Operations CRM / Operations Management
nda
Express.js Vuetify MySQL Twilio WhatsApp API Docker
Scaffolding Operations CRM

What it does

This scaffolding operations software is a construction crew management system built for a scaffolding company in New York. The company was running its entire operation from spreadsheets -- dozens of active job sites, each with its own permits, licenses, equipment inventory, and crew assignments. When a permit expired without anyone noticing, the site got shut down. Fines, idle crews, delayed projects. When a foreman needed materials, he'd call the office, someone would check a spreadsheet, and maybe the equipment was available, maybe it wasn't.

This CRM replaced all of that with one system. Managers see every job site, every permit expiration date, every piece of equipment, and every crew member in one place. The system sends automatic alerts before licenses expire, so renewals happen before they become emergencies. Foremen request equipment through the system, and the office can see what's available across all sites instantly.

Communication was the other half of the problem. Construction crews don't sit at desks. They're on scaffolding, they check their phones. So the system sends updates, alerts, and assignments through SMS and WhatsApp, the tools they already use. No app to install, no training required. A foreman gets a text when equipment is approved for delivery. A manager gets a WhatsApp message when a license is 30 days from expiring.

Results & Impact

Eliminated missed license renewals. Before the system, expired permits meant fines and forced work stoppages, sometimes for days. After deployment, zero sites were shut down due to expired documentation.

Reduced equipment allocation time from phone calls and spreadsheet lookups to instant visibility. Foremen submit requests, the office sees availability across all sites, and approvals happen in minutes instead of hours.

Cut communication overhead. Instead of managers calling individual crew members, the system broadcasts updates to the right people through SMS and WhatsApp. About 50 people used the system daily across multiple active job sites.

Key Features

  • License & Permit Tracking. Every job site has its own set of permits with expiration dates. The system tracks them all and sends alerts with enough lead time to renew before they lapse.
  • Equipment Allocation. Foremen request materials through the system. The office sees real-time availability across all sites and approves or redirects equipment without phone tag.
  • SMS & WhatsApp Messaging. Crews get updates where they already look: their phones. Job assignments, equipment approvals, and license alerts delivered via Twilio SMS and WhatsApp Business API.
  • Unified Manager Inbox. All incoming messages from crews, across SMS and WhatsApp, land in one inbox. Managers respond from one place instead of switching between apps.
  • Role-Based Access. Office staff, site managers, and foremen each see what they need. Foremen see their site. Managers see all sites. Permissions enforce the boundaries.
  • Procurement & Inventory. Track what's ordered, what's on site, and what needs to move. Equipment lifecycle from purchase order to job site deployment to warehouse return.

My Role & Decisions

Role: Sole developer. Designed the architecture, built the database schema, wrote the backend API, built the frontend, integrated third-party services, deployed, and maintained the system.

Why Express + Vuetify: The priority was shipping fast with a clean interface. Express allowed rapid API development, and Vuetify provided a polished Material Design component library that looked professional without a dedicated designer. For an internal business tool used by 50 people, this stack delivered the right balance of speed and quality.

Why Twilio for both SMS and WhatsApp: Instead of integrating two separate messaging providers, Twilio handles both channels through a single API. One integration, two delivery channels. When the client later wanted to add WhatsApp alongside SMS, it was a configuration change, not a rewrite.

Database design: MySQL with a normalized schema. Job sites, permits, equipment, and crew members are separate entities linked through relationships. This made it possible to answer questions like "show me all sites where permits expire this month" or "where is this piece of equipment right now" without denormalizing data.

Technical Challenges

Multi-site permit tracking: Each job site has different permit types with different renewal cycles. Some are annual, some quarterly, some tied to specific inspection dates. Built a flexible schema where permit types and their alert windows are configurable per site, so the system adapts without code changes when new permit categories are added.

Two-way messaging: SMS and WhatsApp aren't just notification channels. Crew members reply. The system needed to match incoming messages to the right conversation thread, the right job site, and the right request. Built a message routing layer that maps phone numbers to crew members and routes responses to the correct manager inbox.

Equipment lifecycle across sites: A piece of equipment might be requested by one site, approved, shipped from the warehouse, used for two weeks, then returned and sent to another site. Tracking this movement with full audit trail, knowing where every item is at any moment, required a state machine approach for equipment status rather than simple location flags.

Use Cases

For office managers. Never miss a permit renewal. The dashboard shows all permits across all sites sorted by expiration date. Alerts fire 60, 30, and 7 days before expiration. What used to require manually checking a spreadsheet every week now happens automatically.

For site foremen. Request equipment without phone tag. Submit a request from the system, the office sees it immediately with full context: what site, what equipment, when needed. No more calling the office, waiting on hold, explaining the same thing twice.

For company owners. See the whole operation at a glance. One dashboard shows active sites, crew allocation, equipment utilization, and upcoming permit deadlines. Decisions that used to require asking three people and waiting for answers are now visible instantly.

FAQ

Why build a custom CRM instead of using an off-the-shelf solution?

Scaffolding operations have unique requirements: permit tracking per job site, equipment allocation from foreman requests, and crew communication via SMS and WhatsApp. No existing CRM handled all three in one system without heavy customization that would cost more than building from scratch.

Why SMS and WhatsApp instead of email or a mobile app?

Construction crews work on scaffolding dozens of feet in the air. They don't carry laptops or tablets. SMS and WhatsApp are the tools they already use, so the system meets them where they are instead of asking them to change behavior.

How does the license tracking prevent fines?

The system monitors expiration dates for every permit and license across all active job sites. Managers get automated alerts before expiration, with enough lead time to renew. Working on a site with an expired license means fines and forced work stoppage, so preventing even one missed renewal pays for itself.

Can this approach work for other construction trades?

The core architecture. permit tracking, equipment management, and field communication. applies to any trade that manages licensed work across multiple job sites: electrical, plumbing, HVAC, or general contracting.

What was the technology stack and why?

Express.js backend with Vuetify frontend, MySQL database, Twilio for SMS, and WhatsApp Business API. Express was chosen for rapid development, Vuetify for a clean admin interface without a dedicated designer, and Twilio because it handles both SMS and WhatsApp through a single API.

See Also