Real Estate & ConstructionCustom SoftwareTechnology Consulting

A Renovation Business Run
From Four Dashboards

A Canadian renovation firm needed its CEOs, trades and clients on one system without ever sharing a screen. We built role-specific dashboards with a governed job lifecycle and invoice visibility rules.

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.

Every new job meant setting up access by hand and answering the same questions again. Visibility was the hard part: trades can't see clients or other trades, clients can't see trades, and CEOs can't open each other’s jobs. Invoices follow the same rules, set by who uploaded them.

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 or reopen a closed job. These rules became the dashboards’ specification.

02
A Job Lifecycle With a One-Way Door

A CEO creates a job under a client. It closes to read-only: the client keeps the record, trades lose upload access, and only an admin can reactivate it. Each client holds unlimited jobs, each mapped to a platform project.

03
Three Dashboards, Not One With Filters

CEOs see active jobs, client summaries, trade assignments, budget against actual and upload approvals. Clients see progress, milestones and permitted invoices. Trades see only their assigned jobs. Every view opens on job, address, 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

A trade’s invoice is visible to admin, CEO and client; a CEO’s stays hidden from trades. Both are stored against the job and feed 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 tasks, milestones, budget, trade assignments, uploads, invoices and comments. Its lifecycle state decides what each role can do, enforced wherever 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 defining constraint was negative permissions. Most project tools make work visible; this one had to make it selectively invisible across dashboards, invoices, comments and emails. Writing the cannot-do list before any screen design kept all four 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 · E-commerce
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
E-commerce · 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 Needsthe Same Treatment?

Tell us where the friction is. We’ll propose a clear place to start.

Start a ProjectBook a Call
What Happens Next
01
Share your brief

Send a project request or book a call. A written scope helps but isn’t required. NDA on request.

02
Reply in one business day

A project manager reviews your request and sets up a free call with a senior engineer.

03
Scope fixed and quoted up front

You get deliverables, timeline, and cost agreed before any work starts.