Skip to content
Case studies

Six engagement profiles

Client names are withheld where confidentiality requires it, and we describe what the work actually involved rather than what it would be flattering to claim. Where a project found errors in the numbers an organisation had been relying on, we say so.
  • Anonymised where an NDA applies, never a borrowed logo
  • The constraint and the trade-off, not just the outcome
  • Metrics stated with their basis so they can be challenged
Data engineeringData platformBrazil6 months

Four billion rows moved from SQL Server to Azure Synapse without losing one

A warehouse of more than four billion rows was moved from SQL Server to an Azure Synapse dedicated SQL pool. Distribution and partitioning were redesigned table by table for the MPP engine rather than copied across, and every table was reconciled on counts, checksums and samples before it was accepted. Power BI was then served through an API layer so that reporting no longer competed with the operational system.

Read the case
Rows migrated
4B+
From SQL Server to Azure Synapse, reconciled table by table.
Analytical query time
Hours to minutes
After distribution, columnstore indexing and T-SQL calibration.
Rows lost or duplicated
Zero
Proven by counts, checksums and sampled comparison, not asserted.
End to end
6 months
Assessment, re-architecture, migration, tuning and Power BI integration.
BI migrationBusiness intelligenceBrazil8 months

From 1,200 QlikView objects to a governed Power BI estate, with no reporting blackout

More than 1,200 QlikView objects were catalogued against real usage, rationalised, and rebuilt in Power BI on semantic models over an Azure Synapse warehouse. Calculation logic that had accumulated inside the BI tool was lifted into a governed data layer. Every report was validated number by number against QlikView before its wave went live, and the legacy platform stayed available in parallel until each wave was signed off.

Read the case
Objects in scope
1,200+
Catalogued against real usage, then rationalised before rebuild.
Validated per report
Parity
Numbers compared against QlikView and signed off before each cutover.
Reporting blackout
Zero
Both platforms live in parallel until each wave was accepted.
End to end
8 months
Inventory, warehouse modernisation, rebuild and decommissioning.
ERP and CRMCommercial operationsBrazil8 months

One platform from first contact to invoice, and the board number built from the same record

Commercial, operational and finance functions ran on separate systems, so what the CRM said had been sold did not agree with what was invoiced. One platform was built covering pipeline, orders, invoicing and finance on a single data model, with the executive dashboard reading that same record rather than a monthly consolidation assembled by hand.

Read the case
Pipeline to invoice
One record
Lead, order, invoice and receivable as states of one entity rather than copies.
Executive indicators
Real time
Board KPIs read the operational record instead of a manual consolidation.
Re-keying between systems
Zero
The manual reconciliation between CRM and invoicing was removed, not reduced.
End to end
8 months
Discovery, build, migration, acceptance and go-live.
Healthcare systemsHealthcareBrazil9 months

One patient record across reception, outpatients, wards and pharmacy, exchanged over HL7 FHIR

The group ran separate systems per department, which fragmented the patient history exactly where continuity of care depends on it. One electronic patient record was built covering scheduling, bed management and pharmacy, exchanging data over HL7 FHIR with laboratories and existing systems, with role-based access, encryption and audit trails over sensitive health data.

Read the case
Across four departments
One record
Reception, outpatients, inpatients and pharmacy on the same patient history.
Exchange standard
HL7 FHIR
One integration model rather than a bespoke adapter per external system.
Pharmacy traceability
Batch and expiry
Dispensing tied to the prescription, with stock-out and expiry alerting.
End to end
9 months
Clinical discovery, build, controls testing and supported departmental rollout.
Telemetry and IoTLogisticsBrazil7 months

Vehicle telemetry joined to maintenance and fuel, so cost per kilometre became a measured number

The operator ran on spreadsheets and disconnected third-party trackers, with no single live view of the fleet and no dependable cost figure. One platform was built ingesting embedded IoT telemetry at event grain, joined to fuel and maintenance records, so that consumption, driving behaviour and cost per kilometre became measured rather than estimated.

Read the case
Telemetry retained
Event grain
Sensor data kept at source grain so a specific journey remains investigable.
Cost per kilometre
Measured
Calculated from consumption, fuel and maintenance rather than apportioned.
Maintenance model
Preventive
Scheduled on odometer or hours of use instead of triggered by failure in service.
End to end
7 months
Discovery, ingestion, portal, driver app, pilot acceptance and rollout.
Next step

Arrange a technical review

A 45-minute working session with an engineer rather than a sales call. You describe the problem; we set out what we would build, in what order, and what it is likely to cost.

Answered within one working day, by the engineer who would do the work