Six things worth hiring an outsider for.

Each of these starts as a business problem, not a technology choice. Below: what usually triggers the work, what gets delivered, which tools it tends to involve — and, for each one, when you'd be better off not hiring anyone at all.

S/01 Data platform architecture

A platform design you can actually build against.

Not a reference diagram from a vendor deck. A written architecture that names the ingestion pattern, the storage layout, the table format, the modelling approach, the orchestrator and the access model — with the reasoning for each, and the cheaper option you're deliberately not taking.

The most valuable part is usually the sequencing: what to build first so the second thing is possible, and which decisions are cheap to reverse later. Most stalled platform projects were sequenced badly, not designed badly.

You probably don't need this if your total data volume fits in Postgres and your analytics team is two people. Say so on the call and you'll get told the same thing — a warehouse you don't need is an expensive way to store gigabytes.
Typical trigger A funding round, a migration decision, an acquisition to integrate, or a platform that has grown by accretion for three years.
What you get Written architecture and decision records, a build sequence with dependencies, a cost model, and the risks that would change either.
Typical shape Two to four weeks, fixed price, deliverable stands alone whether or not a build follows.
Stack Cloud-agnostic. Decisions cover table format, orchestration, ingestion, compute and governance.

S/02 Pipelines & orchestration

Pipelines that fail loudly, retry safely and backfill without drama.

In business terms: the data is there when the report runs, and when something upstream breaks, you find out from an alert rather than from a customer.

Technically that means idempotent writes, explicit watermarks, retries that don't duplicate rows, backfills that don't require a heroic weekend, and data quality checks that run as part of the pipeline instead of as a dashboard nobody opens. Change-data-capture from operational databases where nightly dumps have stopped being good enough.

You probably don't need this if you have three pipelines and they work. Adding an orchestrator to three cron jobs is a downgrade dressed as modernisation.
Typical trigger Silent failures, unreliable freshness, a growing pile of cron jobs, or a move off a legacy ETL tool.
What you get Pipelines in your repositories with tests, data quality checks, alerting, backfill procedures and a runbook per failure mode.
Typical shape Fixed-scope build or a retainer where new sources land continuously.
Stack Dagster · Airflow · Prefect · Temporal · Spark · dbt · Debezium · Python · SQL

S/03 Real-time & streaming

Seconds instead of hours — where that difference earns its cost.

Streaming is more expensive to build and more expensive to run than batch. It's worth it when a decision has to be made while the event is still happening: a fraud check, a price, an inventory reservation, an operational dashboard someone acts on.

The hard parts are rarely throughput. They're exactly-once semantics, state size, late and out-of-order events, schema evolution on a live topic, and what happens when you need to replay three days of history into a stateful job. Those get designed in, not bolted on.

You probably don't need this if the consumer of the data is a human looking at a dashboard once a morning. A fifteen-minute micro-batch is a fraction of the cost and a fraction of the operational burden.
Typical trigger A product feature that needs live data, an event-driven migration, or a streaming proof of concept that never became operable.
What you get Topic and schema design, stateful processing jobs, replay and recovery procedures, monitoring for lag and backpressure.
Typical shape Fixed-scope build, frequently followed by a retainer for the first months in production.
Stack Kafka · Apache Flink · Kafka Streams · Pulsar · RisingWave · Materialize · ClickHouse · Apache Druid

S/04 Lakehouse & warehouse

Storage that stays cheap as the data stops being small.

Open table formats on object storage — Iceberg, Delta or Hudi — give you transactions, schema evolution and time travel over files you still own, queryable by more than one engine. Where a managed warehouse genuinely earns its cost, it gets used; where it's being used as an expensive file system, it doesn't.

Migrations are planned as cut-overs: dual writes, reconciliation queries that prove the two systems agree, a switch order, and a rollback that works. The architecture is the easy half. The half that fails is the transition.

You probably don't need this if your warehouse bill is small and nobody is complaining about query times. Table format migrations are for real constraints, not for tidiness.
Typical trigger A warehouse bill growing faster than the data, vendor lock-in concerns, or a lakehouse migration stuck at eighty percent.
What you get Table format and partitioning design, compaction and retention policy, migration plan with reconciliation, cost model before and after.
Typical shape Review first, then a phased migration with the old system live until reconciliation passes.
Stack Apache Iceberg · Delta Lake · Apache Hudi · Snowflake · BigQuery · Databricks · Redshift · Trino · DuckDB · S3 / GCS / ADLS

S/05 Analytics engineering

One definition per metric, in version control, with a test.

When finance and product disagree about revenue, the cost isn't the meeting — it's that nobody trusts any number afterwards. The fix is unglamorous: modelled layers, tested transformations, documented definitions, and lineage you can point at when somebody asks where a figure came from.

dbt where the team is already there; SQLMesh where column-level lineage and cheap virtual environments genuinely help. Either way the deliverable is a modelling layer your analysts can extend without asking an engineer.

You probably don't need this if you have one source system and five dashboards. Modelling frameworks pay off at the point where multiple people define the same thing differently.
Typical trigger Conflicting numbers, dashboard sprawl, an analytics team blocked on engineering, or an audit that needs lineage.
What you get Staging and mart layers, tests, documented metric definitions, lineage, and CI that runs models against a sample before merge.
Typical shape Fixed-scope build, then handover to the analytics team who own it.
Stack dbt · SQLMesh · Great Expectations · OpenLineage · DataHub · Snowflake · BigQuery · DuckDB

S/06 AI & LLM data infrastructure

The nine tenths of an AI feature that nobody demos.

The model is the part you rent. What you have to build is everything around it: getting the right documents in, chunking them so retrieval works, keeping the index fresh as the source data moves, and measuring whether the answers got better or just different.

That means retrieval pipelines with a real evaluation harness, embeddings that get recomputed when the source changes, vector storage sized to the actual corpus, and permissions that survive the jump from database rows to a retrieved chunk — the failure mode where a chatbot cheerfully quotes a document the user can't open.

You probably don't need this if your corpus is a few hundred documents that rarely change. Start with the simplest retrieval that works and measure it before building infrastructure around it.
Typical trigger A demo that impressed the board and then didn't survive real documents, real permissions or real update frequency.
What you get Ingestion and chunking pipeline, embedding refresh strategy, vector store design, retrieval evaluation harness, and permission-aware retrieval.
Typical shape Fixed-scope build; evaluation harness delivered first so improvements can be measured rather than argued about.
Stack pgvector · Pinecone · Weaviate · Milvus · Ray · MLflow · Spark · Python · model-provider agnostic

07 And the software around it

A data platform rarely ships alone.

Someone has to build the API that serves the features, the internal tool the ops team uses, and the infrastructure it all runs on. Those get built here too — which removes the hand-off between vendors at exactly the seams where projects break.

Backend & APIs

Services that expose the data

FastAPI and Node services, REST and GraphQL, event-driven backends, and the caching layer that stops a dashboard from hammering the warehouse.

FastAPINode.js GraphQLPython GoRust
Front-end

Interfaces people actually use

React and Next.js applications, internal tools, and analytics interfaces — built to be fast on real data volumes rather than on a seeded demo.

ReactNext.js TypeScriptSuperset
Platform

Infrastructure and delivery

Terraform modules, Kubernetes workloads, CI/CD pipelines and GitOps — so the platform can be rebuilt from a repository rather than from memory.

TerraformKubernetes DockerHelm GitHub Actions

The full technology map, grouped by decision

08 Questions

Practical questions

More on scope, pricing and what a month of work looks like on the how it works page.

Do you take on short engagements?
Yes. A one- or two-week architecture review is the most common starting point, and it stands on its own: you get a written plan whether or not the build follows.
Can you work inside our existing repositories and process?
That is the default. Code lands in your repositories, in your CI, reviewed by your team. Nothing important should live on a consultant's laptop.
Will we be locked into your choices?
The bias is towards open table formats, open orchestration and infrastructure as code, precisely so the platform stays portable. Any decision that is expensive to reverse gets written down with the alternatives considered.
Do you offer ongoing support after a build?
A monthly retainer covers ownership, on-call for the platform, and continued development. Plenty of engagements end without one, which is a fine outcome.

Next step

Not sure which of these you need?

That's a good reason to book the call. Describe the symptom — the slow job, the bill, the numbers that don't match — and the diagnosis is free.