← ALL CASE STUDIES
DOSSIER 03 · SHIPPED SYSTEM — OPERATIONS PLATFORM FOR SERVICE BUSINESSES

Your practice management system is not moving. Good.

Problem class: real-time bidirectional integration with a third-party system of record whose API was never designed to support it — without migration and without double entry.

PROBLEM CLASSSystem-of-record integration
CLIENTOperations platform, service businesses
DELIVERY570 hours, ~40% under norm
STATUSShipped, in production
§1 — THE PROBLEM IN YOUR FIRM

Two systems, two truths, and staff who trust neither.

SCENARIO

The firm runs on Clio. Or MyCase, Smokeball, Filevine, PracticePanther, or something older with a licence that predates half the staff. It holds the matters, the calendar, the contacts, the documents and the billing.

An AI vendor arrives. Their first substantive recommendation is a migration, or an export. You should refuse. That recommendation solves their problem, not yours.

So the automation gets built beside the system of record instead. Now a matter status lives in two places. A paralegal updates one and forgets the other. Within a quarter the new tool disagrees with the system of record often enough that staff stop believing it — and quietly revert to the old process while the licence keeps renewing.

FAILURE MODEParallel truth

Two systems both claiming to know the state of a matter, reconciled by human memory. This does not fail loudly. It decays — and the decay is invisible until someone relies on the wrong one near a deadline.

There is a specific technical cause underneath it. Your practice management vendor’s API does not emit the event you need. So the integrator falls back to polling: ask every five minutes, compare the answers, guess what changed. Polling is slow, it burns rate limit, it returns stale reads, and it silently drops events that occur between intervals. Every one of those is a wrong matter status.

§2 — WHERE WE HAVE MET THIS BEFORE

We built the webhook layer the vendor didn’t provide.

An operations platform for service businesses, all of whom already ran an established vertical SaaS product holding their schedule, customer file, job history and invoices. Nobody was replacing it — switching cost prohibitive, data too critical. Precisely your position. The requirement was a layer that behaves as though it shares a database with a system we did not control, could not modify, and whose API did not expose the events we needed.

Three decisions carried it: API version selection treated as architecture; each endpoint mapped to the specific capability it served rather than wrapping the API generically; and rather than accept the polling compromise, a custom webhook layer that pushed status changes the moment they occurred — propagating through to the operator console and the end client’s device.

FIG. 3.2 — OPERATOR CONSOLE. LIVE OPERATIONAL METRICS AND SCHEDULING SYNCHRONISED WITH THE SYSTEM OF RECORD, ELIMINATING DOUBLE BOOKING.
FIG. 3.2 — OPERATOR CONSOLE. LIVE OPERATIONAL METRICS AND SCHEDULING SYNCHRONISED WITH THE SYSTEM OF RECORD, ELIMINATING DOUBLE BOOKING.
FIG. 3.3 — AUTOMATED CLIENT COMMUNICATION, THREADED PER CLIENT, ON THE SAME SHARED DATA LAYER.
FIG. 3.3 — AUTOMATED CLIENT COMMUNICATION, THREADED PER CLIENT, ON THE SAME SHARED DATA LAYER.
FIG. 3.4 — THE WEBHOOK LAYER IN EFFECT. A STATUS CHANGE IN THE SYSTEM OF RECORD REACHES THE END CLIENT'S LOCK SCREEN WITHOUT ANYONE RE-ENTERING IT.
FIG. 3.4 — THE WEBHOOK LAYER IN EFFECT. A STATUS CHANGE IN THE SYSTEM OF RECORD REACHES THE END CLIENT’S LOCK SCREEN WITHOUT ANYONE RE-ENTERING IT.
570 hrsMVP DELIVERED
~40%UNDER COMPARABLE NORM
ZeroDOUBLE ENTRY FOR STAFF
Bi-directionalREAL-TIME SYNC IN PRODUCTION
ON THE RECORD

“He isn’t just a developer, he’s a knowledgeable business strategist that’s not a ‘yes’ man. When a strategy was proposed by us that didn’t quite align with the right path, he spoke up and explained his position and why.”

CO-FOUNDER & MANAGING PARTNER · OPERATIONS PLATFORM

Worth reading twice. That is a client on record saying we told them they were wrong. We would rather have that testimonial than a compliment about responsiveness.

§3 — THE APPROACH FOR A FIRM

Build around the system of record, never over it.

Establish the event surface first — what your practice management API actually emits is the constraint that determines everything downstream, so it gets resolved before month three, not discovered in it. Build the webhook layer for the gaps. Map endpoints to capability deliberately. Write back, so one truth survives. Then build the surface: client portal, matter status, document triggers, follow-up sequences — on top of a synchronised layer rather than beside an unsynchronised one.

WHAT WE BUILT
WHAT IT BECOMES IN YOUR FIRM
Custom webhook layer against a push-less API
Matter status propagating in real time instead of someone remembering to update two systems
Bidirectional sync, no double entry
Clio stays the single source of truth. The automation reads and writes, never competes
Endpoint-to-capability mapping
Document assembly reading the live matter record, not a stale export
Client-facing app on the shared layer
Client sees matter status, documents and invoices — and their actions land where the matter lives
Deployed to additional sites without rework
Second office, second practice area, no re-architecture
INDEX All case studies NEXT STUDY The pilot worked. Then the vendor left →
DWG. FINAL

Start with the plan.

The $2,000 deposit is credited toward the build and refundable for two weeks after the plan lands. The plan is yours either way.

Book a scoping call →