The work

One operational hub for the whole companyA Portuguese façade-maintenance company

One placeto quote the job, track the money and run the crews, from a phone on site.

  • €612KOf duplication found inside the pipeline, and removed
  • 3,030Drive items audited into the system it runs on now
  • 187Clients rebuilt out of that audit, with their jobs and quotes
  • 11Working surfaces on the sales floor, installable on a phone

The challenge.

Two daysTo answer a client, spent entirely on looking for the answer

The business ran out of a messaging app and a cloud drive.

Dozens to hundreds of messages a week, and no way to answer the first question this business should be able to answer: how many enquiries came in, and how many of them did we lose.

The drive was the de facto database. The owner estimated five hundred to a thousand files in it. The audit found 3,030 items. Quotes, contracts, client records, site photos, spreadsheets. Years of real work, none of it in a system.

So finding anything meant hunting for it, and hunting for it took about two days to answer a client. Not two days of work. Two days of looking.

Off the shelf tools had already been rejected, and for a good reason: in this trade, each job is almost its own company. Its own area, access, condition, materials, crew and margin. A generic pipeline does not hold that.

AI was in the business already, by copy and paste. A client's message into a chatbot, the answer back out by hand.

And pricing came from instinct, because the company's own record of what a job actually came to was sitting in hundreds of documents nobody could total.

Then the number. The pipeline the business believed in was €3.37M. It was assembled from files that overlapped each other, and nobody could prove or disprove it, because proving it meant reading three thousand documents.

A number you cannot defend is worse than no number, because you plan against it.

If that shape looks familiar, the consultation is where we go and find yours.

Start with the free consultation

What we built.

Marked as derivedEvery figure the system worked out for itself, never blended in

One operational hub for a façade-maintenance business. Every job, quote, contract, client and photo in one place, priced off the company's own history.

It is drawn as three floors: sales, finances, and operations.

The sales floor runs on eleven working surfaces. A command deck computes the picture live: pipeline value, proposals out, conversion rate, a money weighted funnel, the largest jobs, the quote tier mix, and what to do next. Leads carry every enquiry with its origin, service type, status and next action date, with overdue work flagged, which is the answer to the question the messaging app could never answer. The pipeline puts every job on a board by funnel stage and writes each stage move to a log as it happens, so the funnel has a history rather than a current mood. Clients hold the database: per client, their jobs, their quotes, their photos, their history.

Quoting is two surfaces, because this business needs both. One click quoting builds a quote from the shape of the job itself, its area, height, building condition, service type, complexity, access method, pathologies, materials, margin and tax. It is previewed first, every value is editable, and nothing sends on its own. The full quote builder does the detailed version, priced, taxed, rendered as a branded document and sent. The pricing underneath is not a guess and not a language model: it is the company's own parametric model, its rates per square metre and its complexity and access multipliers, ported into arithmetic.

Then the surface that changes how the business earns. While a quote is being written, comparable jobs shows what similar past work actually came to per square metre, from the company's own completed jobs, banded by type of work rather than flattened into one rate, and flagged when the sample is too small to trust. The company's history becomes its pricing reference, and the flag is as important as the figure.

The rest of the floor: contracts generated in three steps from an awarded job and a reusable template, pre filled and reviewed before they exist. Tasks tracked across commercial, site, admin and after sales, with deadlines and client linkage. Job photos from before, during and after, attached to the right job automatically. And a duplicate review queue that proposes merges, waits for a human decision, keeps every one reversible, and disappears when there is nothing to review.

The finances floor covers money in and out against each job, with each job treated as its own small company. A tax map split by rate, ready for the accountant. A cash flow forecast for the weeks ahead. And real margin per job, what was quoted against what was actually spent.

The operations floor covers scheduling per job across subcontracted crews, a jobs calendar by week and month, a site diary with before and after photos, each job's state at a glance, crews and subcontractors with their certifications, insurance and expiry dates, a company document archive, monthly executive reporting, and one combined panel showing sales, jobs and finances together.

All of it installs on a phone like an app, because the work happens in front of a building, not at a desk.

Now the part worth more than the word AI. Every number the system worked out for itself is marked as derived, on screen, with a distinct mark when its confidence is low. Nothing auto derived is ever quietly blended with a real figure. For a business that had just been carrying a pipeline number it could not defend, that property matters more than any feature: you can always see which figures are yours and which ones the system inferred.

Where AI does the work is the history. A language model read the text of 223 candidate quote documents and recovered the values and line items that rule based parsing could not reach, with constrained output, plausibility bounds and idempotent re runs, filling blanks only and never overwriting a real number. It only ever saw scrubbed text: tax IDs, bank details, phone numbers and emails were removed before anything left, so no personal data reached a model.

Underneath everything, the data foundation, because none of the above is worth building on numbers you cannot defend. All 3,030 drive items were read view only and triaged into 2,668 business, 326 personal and excluded, and 36 quarantined for personal data. The three sum exactly. Every one of the 387 business documents was extracted, 387 of 387, zero failures. The real entities behind them were rebuilt: 187 clients, 187 works, 328 quotes, 22 contracts and 214 photos.

Then the pipeline was audited against itself, duplicate by duplicate. The ambiguous cases were not guessed at. They went back to the owner as direct questions, and eighteen reversible merges were applied on his answers. The result was cross checked and matched to the cent.

It runs on the client's own database account, with the data under the client's control, authenticated and row level secured per table, with encrypted storage. The connection to the document drive is read only, so the system cannot write to or delete the source of truth it learned from.

The results.

96%Of quotes now carrying a value, recovered from their own documents

The business can ask its own history what a job should cost.

That is the change worth naming first. Pricing moved from instinct to what comparable past work actually came to, banded by type of work, with a flag when the sample behind the number is too thin to lean on.

The numbers underneath are defensible now. €3.37M of claimed pipeline verified down to €2,761,690.31, with about €612K of duplication found and removed across eighteen reversible merges, applied on the owner's own answers, cross checked and matched to the cent. The business had been planning against a pipeline figure roughly 22% larger than the one it could defend.

The record got fuller as well as truer. Quotes carrying a value went from 163 to 316 of 328, which is 96%. Quote line items went from 14 to 995. None of it invented: every value was recovered from the company's own documents, and zero client records were altered or deleted in the process, with row counts unchanged after all of it.

The access lock was tested rather than asserted. A real logged in non staff account queried all eleven tables and received zero rows. Writes were denied. A direct request for a photo returned nothing. The code that reaches the browser carries no privileged key. An independent review of the data layer ran, and the finding it produced was closed the same night.

What it means day to day is narrower than a revenue claim and more useful than one. Time back, because the two day hunt for an answer is a lookup. Enquiries that stop leaking, because every one of them is a record with a next action on it. And the ability to aim at the higher margin work, because the margin is finally visible before the quote goes out.

3,030 items in a cloud drive became a system you can ask a question, from a phone, standing in front of the building.

Tell us what yours looks like.

Bring us the part of your business that runs on someone remembering. We will tell you what it would take to build it out.