Four real decisions that shape the build. Each has a defensible answer in both directions.
Cloud-native vs self-hosted. Cloud-native (Snowflake, BigQuery, Databricks) is faster to set up and removes most ops work. Self-hosted (Postgres on a VM, ClickHouse, DuckDB) is cheaper at small scale and avoids egress fees. Nordic mid-market companies on a controlled cost trajectory often land on Postgres or DuckDB for the first 12 months, then migrate to a cloud warehouse once data volume crosses the threshold where ops cost exceeds licence cost.
Warehouse vs lakehouse. A warehouse holds structured tables. A lakehouse adds cheap object storage for raw files alongside tables. Companies handling only structured data (sales, finance, product analytics) tend to pick a warehouse. Companies dealing with documents, logs, images, or audio (legal, healthcare, manufacturing) tend to pick a lakehouse. Databricks dominates the lakehouse category. Snowflake has been adding lakehouse features to catch up.
Real-time vs batch. Most reporting needs do not require sub-minute freshness. Batch updates every hour or every night handle 90 percent of cases at one-tenth the cost. Real-time matters for fraud detection, operational monitoring, and customer-facing analytics. Build batch first. Add real-time pipelines later for the specific use cases that justify it.
Custom data apps vs BI tools. The Jourier position is direct: build the analytics layer as real product-grade apps the client owns. Proper frontend framework (React, Next.js, Vue). Proper backend framework (FastAPI, Express, Django). Visualisation libraries inside the app (D3, Recharts, ECharts). Deployed in the client's accounts. Every BI-tool category is legacy in this view. Commercial BI (Power BI, Tableau, Looker, Qlik) pays per-seat fees and locks the company in. Open-source BI (Metabase, Superset, Lightdash) constrains the work to what the project's developers built. Rapid-prototyping frameworks (Streamlit, Plotly Dash, Gradio) look and feel like Streamlit apps and do not scale to product-grade UX. Low-code internal-tool builders (Retool, Internal.io) trade vendor lock-in for build speed. The exception across all these categories is procurement-mandated environments where a specific tool is contractually required. There, the foundation serves it while a migration plan to custom apps runs in parallel.
Open-source vs commercial infrastructure. The current generation of open-source tools (Postgres, dbt, DuckDB, Iceberg, Trino) covers what most Nordic mid-market companies need. Commercial infrastructure (Snowflake, Databricks, BigQuery) earns the licence fee where it materially outperforms on query performance at scale, on multi-region setups, or on specific compliance certifications. Pick commercial infrastructure where the gap is real. Pick open source where the gap is not.