Recent Engagements

Work we're proud of.

We don't take many clients on at once, and we don't write up the work that didn't go well, but the patterns repeat. Tangled analytics, platforms that outgrew themselves, teams stuck firefighting. Below: two client engagements written up in full, then six representative scenarios for the engagement types we haven't written up yet.

01 / Case Study
HR SaaS · Europe
PROJECT
Analytics rebuild
100+ person SaaS company
6-month engagement
2 embedded engineers

Untangling analytics for a 100+ person SaaS company

They'd inherited what most teams inherit — duplicated definitions, brittle pipelines, a backlog growing faster than the team. We didn't pitch a moonshot. We helped them rebuild the architecture so the numbers were consistent and the work was shippable. Boring outcomes, but the right ones.

The client is a fast-growing HR SaaS company headquartered in Europe. By the time they engaged us, their analytics function had been running for several years and had accumulated the typical signs of organic growth: the same business entity defined inconsistently across multiple tables, fragile pipelines that broke under reasonable load, and a single point of knowledge concentrated in two long-tenured engineers. New report requests took up to a month to deliver.

We embedded two senior engineers with their team for six months. The first six weeks were spent on discovery — mapping the existing architecture, cataloguing data definitions across the business, and identifying the highest-leverage points for intervention. We then proposed a three-phase remediation plan, prioritised by business impact rather than technical interest.

Approach
  • Established a single source of truth for each core business entity, with documented ownership
  • Replaced duplicated transformation logic with a shared semantic layer in dbt
  • Refactored the most fragile pipelines, prioritising those that fed business-critical reporting
  • Introduced lineage tracking and data quality monitoring with clear ownership for each domain
  • Worked alongside the existing team throughout, with paired review on every meaningful change
Outcome
  • Consistent definitions across reporting, finance, and product analytics
  • Time-to-deliver for new analytical requests reduced substantially
  • The internal team able to onboard new analysts without months of context transfer
  • A documented architecture the team could continue to extend after our departure
Industry
HR SaaS
Region
Europe
Engagement
Staff Augmentation
Duration
6 months
02 / Case Study
Real Estate Analytics · US
PROJECT
Greenfield platform
Real estate analytics startup
5-month engagement
3-engineer team

A new data platform for a fast-growing analytics startup

Their data volumes had quietly outgrown a platform that was never meant to carry them. We built a new one from scratch, designed around how the business actually runs — and handed it over so their team could run with it themselves.

The client is a US-based real estate analytics company that had grown rapidly in customer base and the volume of property data they processed. Their original setup — a small set of scripts feeding a single database — had served them well in the first two years but was now the limiting factor on both reliability and product velocity. Adding a new data source took weeks. Recovery from a failed run was manual.

We delivered a complete data platform across five months, designed end-to-end around their specific business model. The architecture was deliberately conservative: well-understood components, conventional patterns, generous documentation. We wanted the team to be able to operate, extend, and reason about the system without us.

Approach
  • Two-week discovery to model the business domain and identify the analytical questions that actually mattered
  • Architecture design phase with explicit trade-off documentation, reviewed with their leadership
  • Phased build — ingestion, transformation, modelling, observability — with each phase shippable in isolation
  • Final phase dedicated entirely to handover, documentation, and pairing with their internal hires
Architecture highlights
  • Cloud-native warehouse with separated ingestion and transformation layers
  • Idempotent pipelines with automated recovery, designed to absorb upstream variability
  • Clear separation between raw, modelled, and consumption layers — each with explicit contracts
  • End-to-end lineage and quality monitoring, with alerts routed to the team responsible for each domain
  • Cost dashboards from day one, so the team could see and reason about cloud spend
Outcome
  • Platform delivered on schedule and handed over to the internal team
  • New data sources now onboardable in days rather than weeks
  • Recovery from upstream failures automated and observable
  • Internal team able to extend the platform independently from month one of post-handover
Industry
Real Estate Analytics
Region
United States
Engagement
Platform Delivery
Duration
5 months
03 / Case Study
Retail Banking · Germany
PROJECT
DORA-readiness architecture remediation
800+ employee bank
4-month engagement
Senior architect + 2 engineers

Making a regulated lending platform defensible under DORA

An internal audit asked a question the platform couldn't answer: where did this number come from? We rebuilt the reporting layer so every figure carries its own history, and a three-week reporting scramble turned into four days.

With DORA enforceable since January 2025, an internal audit flagged that the bank's lending-analytics team could not reproduce a historical risk figure on demand. The number lived across six undocumented ETL jobs, and nobody could say with confidence which version of the transformation logic had produced last quarter's report. Ownership of the underlying data was fuzzy too; risk, finance, and compliance each held a piece. Quarterly regulatory reporting took roughly three weeks of manual reconciliation before it could be filed.

We ran a structured architecture review first, then rebuilt the core reporting layer on a Data Vault pattern: every record carries its source and load time, and history sits in satellites, so "what did this figure look like last quarter" became a query instead of an investigation. We assigned named ownership per domain and automated the lineage tracking, so the audit trail no longer needs an engineer in the loop.

Approach
  • Structured architecture and lineage review across the six existing ETL jobs feeding regulatory reports
  • Rebuilt the core reporting layer on a Data Vault model, with full source and load-time tracking on every record
  • Assigned documented, named ownership for each data domain (risk, finance, compliance)
  • Automated lineage tracking and quality monitoring, replacing manual reconciliation
  • Ran a joint working session with the bank's internal audit team to validate the new reporting trail before quarter-end
Outcome
  • Quarterly regulatory reporting cycle cut from roughly 3 weeks to 4 business days
  • Any historical risk figure reproducible on demand with a single query
  • The specific audit finding that triggered the engagement was closed before the next reporting cycle
  • Zero repeat findings on the same reporting area in the following internal audit cycle
Industry
Retail Banking
Region
Germany (DACH)
Engagement
Audit & Remediation → Platform Delivery
Duration
4 months
04 / Case Study
Data Consulting Partner · Benelux
PROJECT
Overflow bench engagement (white-label)
35-person boutique Snowflake consultancy
4-month placement
1 senior engineer

Covering a Snowflake migration a boutique consultancy couldn't staff alone

Our client here was another consultancy. They'd won the project and lacked the bench; we supplied one engineer under their brand and stayed invisible to their end client.

A boutique Snowflake-certified consultancy had just won a mid-market retail client's migration project, but two of their own senior engineers were already committed to another engagement for the next quarter. Turning down the work meant losing the client relationship; taking it on without the right bench risked missing the agreed go-live date.

We supplied one senior Snowflake and dbt engineer white-label, working entirely inside the consultancy's own delivery process, tooling, and client-facing branding. From the end client's side, the engineer was indistinguishable from an in-house hire. The consultancy kept the relationship and the margin.

Approach
  • Discovery call with the consultancy's delivery lead to confirm stack, standards, and client-facing expectations
  • Matched one named, pre-vetted Snowflake/dbt specialist within days of the request
  • Engineer onboarded into the consultancy's own tooling, standups, and code review process under a shared onboarding document
  • Weekly check-in between SouthRivers and the consultancy's delivery lead, not the end client
Outcome
  • Migration delivered on the original 14-week timeline with zero missed client milestones
  • Engineer reached full productivity within 3 days of starting, using the shared onboarding document
  • No forced choice between a permanent hire they didn't need and turning the client away
  • The same subvendor arrangement has since been reused for two subsequent client projects
Industry
Data Consulting (Snowflake/Databricks boutique)
Region
Benelux
Engagement
Staff Augmentation (white-label subvendor)
Duration
4 months
05 / Case Study
Discrete Manufacturing · DACH/CEE
PROJECT
OT/IT data platform on Microsoft Fabric
900-employee manufacturer
6-month engagement
3-engineer team

Bringing shop-floor and ERP data into one place for a mid-size manufacturer

Operations knew what the lines were doing. Planning found out a day later, from a spreadsheet. We put both on the same numbers, refreshed in minutes.

Sensor and telemetry data from four production lines sat in a historian system nobody outside operations could query. Finance and planning relied on manually exported spreadsheets refreshed once a week. When a line stopped, that fact wasn't visible in planning systems for up to 24 hours. Leadership wanted real-time OT and IT visibility ahead of piloting Fabric IQ, but had no unified data layer to build it on.

We built ingestion from the OT historian and the SAP ERP into Microsoft Fabric, then a real-time layer on top that joins telemetry with production and planning data. Line stoppages now raise an alert within minutes instead of surfacing in next week's export, and plant managers and finance read dashboards built from the same model, so the numbers agree.

Approach
  • Mapped OT historian and SAP ERP data models and identified the join keys connecting shop-floor and business data
  • Built streaming ingestion from the historian into Microsoft Fabric alongside batch ERP loads
  • Established a unified real-time layer with automated line-stoppage alerting
  • Delivered separate dashboards for plant managers and finance from a single underlying model
  • Documented the architecture as the foundation for the client's planned Fabric IQ pilot
Outcome
  • Line-stoppage detection latency cut from up to 24 hours to under 5 minutes
  • Weekly manual spreadsheet reconciliation eliminated, reclaiming roughly 6 person-hours per week
  • Planning team working from same-day data instead of week-old exports
  • Unified data foundation now in place ahead of the client's Fabric IQ pilot
Industry
Discrete Manufacturing
Region
Germany / CEE
Engagement
Platform Delivery
Duration
6 months
06 / Case Study
Professional Services · UK
PROJECT
Fabric migration readiness audit + phased migration
400-employee firm
5-week audit + 10-week migration
Senior architect + 2 engineers

Migrating off a retiring Power BI Premium P-SKU before the capacity freeze

Microsoft stopped selling their capacity tier. Finance was bracing for the worst-case renewal. We sized the move on evidence first, then migrated one business unit at a time.

The firm was on a Power BI Premium P-SKU that Microsoft had stopped selling, so any renewal would force a move to Fabric F-SKU capacity. Nobody had modelled which tier they actually needed, and finance was bracing for a worst-case cost jump. Roughly 40 reports across three business units depended on the existing capacity, and some were already showing interactive query delays.

We ran our fixed-fee capacity-sizing assessment first, profiling the workload behind all 40 reports, and delivered a written report recommending a specific F-SKU tier with cost modelling attached. Only after the client approved the plan did we run the migration itself, in three phases by business unit, so no report went dark mid-cutover.

Approach
  • Fixed-fee, 3-5 week workload-profiling assessment across all 40 existing Power BI reports
  • Written report recommending a specific F-SKU capacity tier, with cost modelling against three scenarios
  • Phased migration by business unit, each phase independently validated before moving to the next
  • Direct communication with report owners ahead of each cutover window to avoid surprises
Outcome
  • The recommended F-SKU came in one tier below the firm's own worst-case budget
  • Zero reports unavailable outside a scheduled maintenance window during the entire migration
  • Interactive query delays eliminated across all migrated workloads
  • Migration completed roughly 3 weeks ahead of the P-SKU's hard capacity-freeze deadline
Industry
Professional Services
Region
United Kingdom
Engagement
Audit & Remediation → Platform Delivery
Duration
15 weeks total
07 / Case Study
Software (PE Portfolio) · EU/US
PROJECT
Azure cost & architecture audit → remediation
250-employee software company
4-week audit + 3-month remediation
Senior architect + 2 engineers

Cutting Azure spend by a third for a PE-backed software company post-acquisition

The engineer who understood the Azure environment left right after the deal closed, and the bill kept growing anyway. We found where the money was going and shut off what nobody was using.

Shortly after acquisition, the engineer who understood the company's Azure environment left. Monthly cloud spend had grown 60% year over year with no corresponding growth in usage that anyone could explain. The PE fund's operating partner needed a defensible number and a plan for the next portfolio review, not a guess.

We ran our fixed-fee, 4-week audit covering architecture, reliability, cost, velocity, and team coverage, and identified orphaned resources, oversized reserved capacity, and two pipelines silently running the same transformation twice. We delivered a prioritised remediation plan with effort estimates, then executed the top-priority items ourselves over the following three months.

Approach
  • Fixed-fee, 4-week audit across architecture, reliability, cost, velocity, and team capacity
  • Identified orphaned compute resources, oversized reserved instances, and duplicated pipeline logic
  • Delivered a prioritised remediation plan with effort estimates and dependency mapping
  • Executed the highest-impact remediation items directly, with weekly reporting back to the operating partner
  • Handed over a documented cost-ownership model to the client's newly hired data lead
Outcome
  • Azure spend reduced by 34% within the first two months of remediation
  • Two duplicate pipelines consolidated into one, cutting their related compute cost by roughly half
  • A named, documented cost-ownership model in place for the first time since the acquisition
  • Findings and results presented directly to the fund's operating partner in board-ready language
Industry
Enterprise Software
Region
EU / US
Engagement
Audit & Remediation
Duration
4 months total
08 / Case Study
IT Staffing Agency · UK
PROJECT
Subvendor placement (disclosed)
40-person generalist IT staffing agency
Ongoing relationship
2 specialists placed to date

Helping a generalist staffing agency keep an MSP panel slot it couldn't fill alone

The agency won the panel; the first requisition was an Azure Data Engineer their bench couldn't cover. We supplied one pre-vetted candidate inside the SLA window, and the panel slot held.

The agency had just won a spot on a mid-market retailer's Vendor Management System panel, and the retailer immediately opened a requisition for an Azure Data Engineer. The agency's own bench was infrastructure and ERP generalists, with no deep Azure data vetting capability. Missing the SLA on this first requisition risked the entire panel relationship before it had properly started.

We supplied one pre-vetted Azure data engineer under a disclosed subvendor arrangement the agency was comfortable sharing with its own client. The candidate had already been through our standard technical assessment, video interview, reference checks, and ID verification before submission. The agency kept the client relationship, the contract, and the margin.

Approach
  • Same-week discovery call to understand the specific requisition and the client's expectations
  • Matched and submitted one named, pre-vetted Azure data engineer profile, not a stack of CVs to filter
  • Candidate had already cleared a live technical assessment, video interview, reference checks, and ID verification
  • Ongoing weekly check-in with the agency's delivery lead for the duration of the placement
Outcome
  • Candidate submitted within 4 business days of the initial request, inside the panel's SLA window
  • Placement extended twice and remains active
  • Agency retained the panel slot and the client relationship without missing a single SLA milestone
  • Agency has since routed two further Azure/data requisitions to the same subvendor arrangement rather than risk a generalist submission
Industry
IT Staffing & Recruitment
Region
United Kingdom
Engagement
Staff Augmentation (subvendor)
Duration
Ongoing

More to Come

We write client case studies up slowly, and only when the client is happy with how it reads. If you want to talk to a reference on a delivered engagement, we're glad to arrange one.

Request a reference call