Real Estate & ConstructionCustom SoftwareTechnology Consulting

A Renovation Business Run From Four Dashboards

A Canadian renovation firm coordinated every job across the CEO’s office, its trades and its clients, three parties who must never see the same screen. We built a project and task management ecosystem on WP Project Manager Pro where each role gets its own dashboard, a job moves through a governed lifecycle, and invoices carry visibility rules of their own.

Project SnapshotRenoEstate · CA
04
Permission Tiers
Admin to trade
03
Role Dashboards
CEO, client, trade
08wk
Delivery Window
Fixed scope, fixed cost
03
Job States
Governed transitions
Client
RenoEstate, Inc.
Location
Canada
Platform
WP Project Manager Pro
Engagement
Custom Plugin & Dashboards
The Challenge

Three Parties Who Must Not See Each Other

A renovation job runs on trades and clients working the same schedule. Neither should ever see the other’s rates, contacts or comments.

Coordination happened person to person, so every new job meant setting up access by hand and answering the same questions again. The visibility rules were the hard part: a trade may not see clients or other trades, a client may not see trades at all, and a CEO may not open another CEO’s jobs. Those rules also apply to invoices: who uploaded one determines who can read it.

What Was Missing
  • No role boundary in the tool, so separating trades from clients depended on people remembering to
  • Manual onboarding for every internal member, trade and client, with no approval checkpoint before access
  • Invoices handled outside the job, disconnected from budgets, actuals and progress
  • No closed state, so finished jobs stayed editable and history could still be rewritten
  • Coordination by message thread rather than a dashboard, which put the same questions back on the CEO’s office
Our Approach

Model the Roles, Then Build the Screens

We wrote down what each role can and cannot do before designing anything, then built to that as a companion plugin on hooks, so the vendor product stays upgradeable.

01
A Permission Matrix Before a Single Screen

Four roles: admin, CEO, client and trade, each defined by what they may do and, more importantly, what they may never do. Only an admin can hard-delete a job or reopen a closed one. Those rules became the specification the dashboards were built against.

02
A Job Lifecycle With a One-Way Door

A job is created under a client by a CEO, works while active, and closes to read-only: the client keeps its record, trades lose upload access, and only an admin can reactivate it. One client carries unlimited jobs, each mapped to a project in the platform underneath.

03
Three Dashboards, Not One With Filters

The CEO sees active jobs, client summaries, trade assignments, budget against actual and upload approvals. The client sees progress, milestones and permitted invoices. The trade sees only its assigned jobs and tasks. Each opens on the job name, the client address, a status and a click-to-call number.

04
Onboarding Behind an Approval Checkpoint

Internal members, trades and clients register through one structured flow that ends in approval, so nobody reaches job data before someone has granted it. Clients can hard-delete their own account, GDPR style.

05
Invoices as Financial Records With Visibility Rules

An invoice uploaded by a trade is visible to admin, CEO and client. One uploaded by the CEO stays hidden from trades. Either way it is stored against the job as a financial record and feeds the actuals, so billing tracks progress instead of trailing it.

06
Notifications That Respect the Boundaries

Email is event-based and role-targeted, so a notification never becomes the leak the permission matrix was built to prevent.

07
Built on Hooks, With a Change Log

The customisation is a plugin on WP Project Manager Pro’s existing hooks. Where no hook existed and a core touch was unavoidable, the change was documented in a change log the client keeps for future upgrades.

Architecture

One Job Record, Seen Four Ways

Role Surfaces
01Admin Controls
02CEO Dashboard
03Client Dashboard
04Trade Dashboard
05Onboarding & Approvals
Platform Core
The Job on WP Project Manager

A job belongs to a client and holds its tasks, milestones, budget, trade assignments, uploads, invoices and comment threads. Its lifecycle state decides what every role can do with it, and the visibility rules are enforced where the record is read.

WordPressWP PM ProCustom PluginChild ThemeMySQL
Workflow & Guardrails
01Job Lifecycle States
02Invoice Visibility Rules
03Budget vs Actual
04Role-Targeted Email
05GDPR Self-Delete
The Outcome

Everyone Logs In and Knows Their Job

Setup that used to be a conversation is now a form and an approval, and the CEO’s office stopped being the router for every question.

Where It Landed
  • Projects, trades and clients onboarded and assigned in a fraction of the time, through one approval-gated flow
  • Tasks and jobs broken down and tracked individually, so a trade sees exactly what is due and when
  • Billing inside the job workflow, with invoices stored as financial records against budget and actuals
  • Closed jobs read-only and reopenable by admin alone, so a finished job stays a record
  • Settings organised by operational role rather than technical category, so the system stays configurable as the business grows
  • Delivered as a hooks-based plugin with a documented change log and a month of included support
What Made It Usable
A dashboard per role, not one with filters

Each party opens to the job name, client address, status and a click-to-call number, then only the actions their role owns, so nobody learns the parts of the system that are not theirs.

Onboarding that ends in approval

One structured flow for internal members, trades and clients, with a checkpoint before access, so the right people are inside the system and nobody else is.

Settings grouped by role

Configuration is organised around how the business actually operates rather than by technical category, so an operations lead can maintain it without a developer.

Engineering Note

The interesting constraint here was negative permissions. Most project tools are built to make work visible; this one had to make it selectively invisible, with the boundary holding on dashboards, invoices, comments and notification emails alike. Writing the cannot-do list first, before any screen design, is what kept those four surfaces consistent.

Stack

Technologies Used

WordPressPHPWP Project Manager ProCustom WordPress PluginChild ThemeMySQLRole-Based Access ControlPayment Gateway IntegrationInvoice & Financial RecordsEvent-Based Email NotificationsUI/UX DesignStaging to Production Release
More Work

Other Case Studies

POS SalePurchaseReturn
Journal Entry
Balanced Double-Entry Posting
Dr
Cr
P&LBalance SheetTrial Balance
Healthcare · eCommerce
A Pharmacy Platform With Real Accounting Underneath
Seventeen live pharmacies moved onto a double-entry ledger without closing a counter.
Read case study
VacancyApplication
Authorise
Trainer Record
Quals
Reviews
SAML SSOMoodle Account
Education · Accreditation
A Trainer Management System Built on an HR Platform
A WordPress HR product extended into a trainer accreditation system with Moodle single sign-on.
Read case study
eBayAmazonEtsyShopify
Normalise
Field & Variant Mapper
Type
Images
Stock
Woo ProductDokan Vendor
eCommerce · Marketplace
A Multi-Channel Import Engine for Woo & Dokan
Vendor catalogues imported from four marketplaces, with a three tier identity layer for verified stores.
Read case study
Start a Conversation

Have a Project That Needs The Same Treatment?

Tell us where the friction is. We will map it with you and propose a clear place to start.

Start Your ProjectBook a Call
Response within one business day
Initial consultation at no cost
Backed by 15+ years of product engineering