Development · Secondary practice

.NET, data pipelines, and the plumbing your BI needs

Great dashboards die of bad pipelines. We build the APIs, ELT jobs, and integrations that keep your data trustworthy — with the same rigour we bring to the visual layer.

Services

Modern .NET,built for the data era

.NET 9, Azure-first, Fabric-aware. We ship services that talk fluently to Power BI, Databricks, Snowflake, and whatever your CIO signed for last quarter.

General .NET development

Minimal APIs, background workers, gRPC, and Blazor when it earns its keep. C# 13, .NET 9, and idioms that won't look embarrassing in 2028.

Custom integrations

Salesforce ↔ NetSuite, Dynamics ↔ Snowflake, Power BI ↔ proprietary CRMs. Idempotent, observable, and safe under retry.

Backend APIs for Power BI

REST and OData endpoints tuned for Power Query. Row-level security wired to Entra ID. Custom connectors when the built-in ones fall short.

Data pipeline development

Azure Data Factory, Fabric pipelines, Databricks, or pure C# Azure Functions — whichever runs cheaper and clearer for your workload.

Azure & Fabric platform work

Bicep IaC, capacity monitoring, surge protection, private endpoints, and cost controls that keep your F2 from bursting into an F64 bill.

Software & data consulting

Second opinions, architecture reviews, and pragmatic advice — no vendor allegiances, no framework fashion, no upsell drama.
Data pipelines

Bronze, silver,gold — pragmatic medallion

We treat medallion as a naming convention, not a religion. Just enough zones to keep raw traceable, cleaned reusable, and executive-ready trustworthy — without over-engineering a 12-person data platform for your 4-person team.

Bronze

Raw, lineage-preserving

OneLake or ADLS Gen2 landing zone. Columnar storage with source metadata. Nothing is deleted, everything is dated.

Silver

Cleaned & conformed

Typed, deduplicated, and joined into curated tables. Business rules live here — not in visuals, not in DAX.

Gold

Semantic & report-ready

Star-schema semantic model consumed by Power BI, embedded apps, or a downstream API. Cache-friendly, sub-second.

BI architecture, engineered

The five layers of a real BI system

A BI architect designs the system that turns raw data into decisions. Every layer below is a first-class deliverable — none of them are afterthoughts.

01

Data sources

Internal (ERP, CRM, MES, ticketing, product telemetry) and external (market data, ad platforms, macro feeds). We inventory them all, classify PII, and document refresh cadence and system-of-record ownership.

SQL ServerOracleMySQLPostgreSQLREST APIsKafka
02

Integration & ETL

Extract, transform, and load — with query folding, idempotency, retries, and lineage. Whether that's Power Query, Data Factory, dbt, Airflow, or plain C# Azure Functions is a design choice, not dogma.

Power Query MAzure Data FactorydbtAirflowInformaticaTalend
03

Storage

Data warehouses (Fabric, Synapse, Snowflake, BigQuery, Redshift), data marts, and lakehouses — with columnar storage underneath. We pick the storage shape that matches the query pattern, not the vendor slide deck.

Fabric LakehouseSynapseSnowflakeBigQueryDelta Lake
04

Analytics & BI

Semantic models, DAX, calculation groups, and executive-grade dashboards. Power BI first — Tableau, Qlik, and Looker when the incumbent stack demands it.

Power BITableauQlikLookerDAXMDX
05

Information delivery

Dashboards on the wall, mobile apps in the pocket, email digests in the inbox, and embedded reports inside your product. Delivery is a design problem, not a feature-flag toggle.

Power BI MobileEmbeddedSubscriptionsSlack / TeamsNotification API
How we build

Boring where it counts,bold where it matters

We optimise for correctness first, then velocity, then novelty. Your CI pipeline should be the most predictable part of your week.

Trunk-based, small PRs

Feature flags over long-lived branches. Merge daily, deploy on green.

Security by default

Managed identities, least-privilege RBAC, secrets in Key Vault, PII tagged and masked at the source.

Reproducible everything

Devcontainers, Bicep infra, seeded databases. New engineers productive in a morning.

Observability from day one

OpenTelemetry, structured logs, RED metrics. If it can page you at 3am, it's wired to a dashboard first.

Signature build

A writeback API your users will actually use.

Power BI can visualise. It can't always capture. Our signature .NET 9 pattern gives users an in-report form that writes back through a Minimal API, into your data warehouse, audited, with optimistic concurrency and role-based rules.

WritebackController.cs
app.MapPost("/api/forecasts/{id}", async (
    Guid id,
    ForecastUpdate patch,
    ClaimsPrincipal user,
    ForecastService svc,
    CancellationToken ct) =>
{
    var actor = user.FindFirstValue(ClaimTypes.Email);
    var result = await svc.ApplyAsync(id, patch, actor, ct);
    return result.Match(
        ok:   () => Results.NoContent(),
        stale:() => Results.Conflict("Row changed"),
        gone: () => Results.NotFound());
}).RequireAuthorization("forecast.write");

Need a bench engineer with BI instincts?

Fractional CTO, integration lead, or embedded senior — we slot into your delivery cadence without a three-month onboarding.