Shared Contract Portal for Fire Door Works
A shared job list for a contractor and its client, built on the decision that neither of them owns it.
Client
Roothings Builders Ltd, with Hainault Home Improvements
Industry
Passive Fire Protection / Communal Housing
Timeline
Built and launched 2026
The problem
Roothings Builders are passive fire protection specialists. They send fire and communal door work to Hainault Home Improvements, who survey, order, install and invoice it. The work is on other people's homes, so the facts split awkwardly between the two firms: Roothings hold the property, the tenant and the works required, while Hainault hold the stage, the payments and the fitting date.
That split was being reconciled by phone. Roothings could not see what stage anything had reached without asking, and every answer was someone's recollection rather than a record. On this kind of work the questions that matter later are precise ones: when was it surveyed, when was the deposit taken, who moved it, and when.
The naive design is a client portal: the contractor gets a read-only window and the installer types everything in. We built that first and it was wrong.
What we built
- Both sides see the same list, and both sides can change it
- Hainault run this work for Roothings, they do not own it. That made shared the default, and put the burden of proof on anything one-sided.
- Field ownership follows whose facts they are
- Roothings own the property, tenant, access code and works required. Hainault own stage, payments, value and advisor. Neither side's columns are ever written from the other's form.
- Every change names who made it, in plain text
- Stamped at the moment of writing rather than resolved from a user record later, so the history survives someone leaving the company.
- Undo corrects, it never erases
- An undo appends a correcting move. An audit trail you can rewrite is not an audit trail.
- Under 3 kB of JavaScript
- The charts are plain HTML and CSS rather than a charting library, so both firms read identical numbers on a phone in a stairwell.
What it did
- ✓One shared record of every job, replacing status reconciled by phone call
- ✓Both parties can raise, edit and move work, with field ownership following whose facts they are
- ✓Permanent audit trail naming the actor on every change, with undo that corrects rather than erases
- ✓Identical pipeline and payment charts on both sides, so both firms read the same numbers
- ✓Under 3 kB of client JavaScript, so it works on a phone on site
- ✓Sensitive tenant notes moved to an internal field and kept out of the shared view
- ✓Hosted on its own subdomain, scoped so a guessed job ID from the wrong company returns nothing
Technical details
The technology behind Roothings Builders Ltd, with Hainault Home Improvements's project.
More work like this
Sales CRM for an Essex Door and Window Installer
1,499 leads moved off a spreadsheet into a live sales board a non-technical team actually use.
Premium Car and Van Hire Website
WhatsApp-first hire site with a quote builder and a landing page for every Essex town served.
Real-Time Queue Intelligence Platform
Measured visits and busy hours across three Essex shops, visible in one dashboard.
Ready to build something like this?
Whether it's a SaaS platform, a custom dashboard, or a brand website - we build around your business and the people who use it.