Skip to main content

PowersIOT CRM

Custom single-page operations app for scheduling, user and inventory management, and project punch lists. Built as a set of modules that share one shell.

Problem

Field and office teams were jumping between separate tools for tech scheduling, user admin, warehouse views, and punch lists. Context switching and duplicate entry slowed dispatch and reporting.

Solution

A modular SPA with shared navigation and UI primitives: auth, role-aware dashboards, and dedicated areas for users, inventory, and punch lists. Redux holds cross-screen state. Bootstrap covers tables, forms, and modals so the UI stays consistent without a custom design system.

Module surface area (illustrative)

Relative emphasis of implemented areas in the shipped CRM (for navigation and planning discussions):

Loading chart…

Impact

  • One login and shared patterns across the operations workflows.
  • Staff learn one app chrome instead of several separate UIs.

Lessons learned

  • Agree module boundaries early. Shared Redux slices get messy if everything reaches into everything else.
  • Bootstrap is fast to ship with. Theme tokens still help if the product lives longer than a quarter.
  • Mixed Node and PHP backends are fine when API contracts and auth are clear.

Tech stack

  • Frontend: React, Redux, Bootstrap
  • Backend: Node.js, PHP
  • Database: MySQL

Screenshots

Login

PowersIOT Tech Scheduling

Dashboard

PowersIOT Tech Scheduling

User management

PowersIOT Tech Scheduling

Inventory

PowersIOT Tech Scheduling

Punch list

PowersIOT Tech Scheduling