We built a production document automation system for a 22-staff conveyancing law firm in Malaysia. The useful part is not that it generates agreements and letters. It is that the firm adds a new document type itself, by filling in a spreadsheet row, and the system starts producing it. No developer required.
Every document the system produces is assembled from clauses that live in a spreadsheet, not buried in the software. Add a row to the clause bank and that new document becomes available in the generator immediately. Try it: add a letter type on the left, then generate it on the right.
| Letter type | Recipient | Clauses |
|---|---|---|
| Redemption statement request | Financier | RED-01, RED-02 |
| SPA ready for execution | Client | EXE-01, EXE-04 |
| Stamp duty payment request | Client | STMP-02 |
| Consent to assignment | Developer | CON-01, CON-03 |
A simplified, interactive illustration of the real clause bank. The delivered system runs on the firm's own machines and is in daily production.
A document system only its builder can extend is a dependency. One the firm can extend itself is an asset. We built the second kind on purpose.
A 22-staff conveyancing practice handling property sale and purchase and tenancy work. Agreements and standard letters were produced by hand, matter after matter, with the wording kept consistent manually and the same documents reformatted again and again.
That is the admin gravity problem professional services firms know well. The work that pays, judgment and client relationships, gets compressed by the work that does not: repetitive document production. Hiring more admin adds management overhead instead of removing the load.
Each tool takes a filled-in spreadsheet and produces a finished, correctly formatted Word document. Firm details are entered once and populate every document. The whole thing launches with one click on the firm's Windows machines. No new platform to learn, no subscriptions, no developer between the firm and its own documents.
We shipped it the way this buyer needs it shipped: six iterative releases over 18 days, each refined against real feedback, so the firm watched the system take shape rather than waiting for a single reveal.
Drafting sat with the people whose time was most valuable. Every new document type meant more manual work, and consistency depended on someone remembering the right wording.
The firm generates a finished document from a spreadsheet in the time it takes to open the file, and can grow the system's coverage on its own terms, without waiting on a developer.
The system is in daily production on the firm's matters. Because the clause language, the templates and the firm's own rules all live where the team can see and edit them, the firm is not locked into a developer to keep it running or to extend it.
Once the core engine proved itself, the engagement moved into a Microsoft 365 integration layer and a reserved AI layer for assisted drafting as the clause library matures: the natural next steps, in sequence, rather than a big bang.
Deliberately boring where boring is correct. The firm's people already work in spreadsheets and Word, so the system meets them there.
Bring a messy, repetitive workflow. Leave with a system that runs inside the tools your team already uses and that your own team can extend, without a developer. Production, not a prototype. When you are ready, an AI layer goes on top.
This build is the automation foundation: a firm can run it and extend it without a developer. The layer that goes on top is AI-assisted handling of client work. We built a separate, interactive demo of that AI layer on a sample firm, so you can watch it read an enquiry, classify it, and draft a reply for a fee-earner to review. Nothing is sent automatically.
If your firm has a document or admin workflow that eats the wrong people's time, that is exactly the kind of thing we build.