NEW Private Docker runtime for your own network

Ship AI-ready datasets, not pipelines.

LakeSwan turns any source into semantic, versioned, queryable datasets you describe once and reuse everywhere. Your models, your analysts, and your partners all read the same tables with the same meaning.

Parquet in your S3DuckDB SQL, no warehouseSaaS or private runtime
global-sales · Dataset App → acme.sales.orders
acme.sales.ordersPARQUET v12
order_idPK customer_idFK → customers.id amountmetric · money countrydimension
10421C-00881,240.00DE
10422C-010789.90US
10423C-0088412.50DE
10424C-02112,990.00IL
relationshiporders → customers (many_to_one)
Why LakeSwan

Every data tool stops one step short of the dataset.

ETL moves rows. Warehouses store them. Catalogs describe them after the fact. None of them produce the thing a model or an analyst actually needs: a described, versioned dataset someone else can run.

Pipeline thinking

  • Months on connectors, schedules, and retries before anyone sees a table.
  • Raw columns with no keys, no relationships, no business names.
  • "Orders by country" lives in twelve notebooks and none agree.
  • LLMs guess at the schema and get it wrong.

Dataset thinking

  • Describe the dataset once in a Dataset App. Run it in minutes.
  • Keys, relationships, metrics, and descriptions ship with every table.
  • One published app; every team runs it with their own Connections.
  • Models read the semantic layer and write correct SQL the first time.
How it works

Describe once. Run anywhere. Query everywhere.

Build a Dataset App

Pick a reader, point it at a source, describe the tables. The app holds no data, so it can be versioned, shared, or published.

# Dataset App
reader_service: web-scraping-reader
tables: [products, prices]
parameters: [region]

Create a Dataset Instance

Attach your Connections, set parameters and a schedule. Each run writes Parquet to your bucket and archives the previous version.

# Dataset Instance
name: eu-prices
schedule: "0 6 * * *"
connections: [acme-postgres]

Query, join, share

Every dataset appears as database.schema.table in the Workbench. Join across sources with DuckDB, diff versions, or ask the SQL assistant.

SELECT country, sum(amount)
FROM acme.sales.orders
GROUP BY 1 ORDER BY 2 DESC
The platform

Datasets are the product. Integrations are infrastructure.

A lightweight semantic layer that travels with the data

Primary and foreign keys, relationships, business names, metrics, and descriptions, on every table, in every tenant that runs the app.

customers
id PK
name
segment DIM
orders
order_id PK
customer_id FK
amount METRIC

Time travel by snapshot

Every run archives the previous Parquet. Diff versions, audit a change, or derive a "what changed" dataset. No Delta, no Iceberg.

v12 · today 06:00+184 −3
v11 · yesterday+171 −0
v10 · 2 days ago+203 −9
v9 · 3 days agocompare →

DuckDB Workbench with an assistant that reads only the schema

Query every dataset in one place. The SQL assistant sees table and column metadata, never your rows, and drafts SQL you review before running.

Revenue by country for the last quarter, top 5
SELECT country, sum(amount) AS revenue
FROM acme.sales.orders
WHERE order_date >= date_trunc('quarter', now()) - INTERVAL 3 MONTH
GROUP BY 1 ORDER BY 2 DESC LIMIT 5

Readers for the sources you already have

Databases, files, APIs, feeds, and the open web, plus Airbyte for the long tail.

sql-readercsv-readerapi-readerrss-readerweb-scraping-readerairbyte-readerlakeswan-reader

Your storage. Your runtime.

Land datasets in platform storage or your own S3. Execute in LakeSwan's cloud, or run a one-container private runtime so your sources and datasets stay in your network.

LakeSwan SaaSzero setup
Private Dockeryour network, your keys

Share and reuse

Grant a Dataset App to another team or tenant. They run it with their own Connections and get the same shape, the same semantics, the same SQL.

global-sales v1.3granted → partner-eu
global-sales v1.3granted → finance
Watch

See it running

The pitch, and a short product walkthrough.

The pitch

0:49 · MP4

Why datasets, not pipelines, are the thing worth building: GitHub, Shopify, and Docker Hub for datasets.

Product demo

5:12 · MP4

Build a data product in LakeSwan: Shopify, a spreadsheet, and a public web page combined into one described, versioned dataset, then queried in the Workbench.

Who it's for

Built for the people who ship data

Book a demo

For data engineers

  • Stop re-implementing the same extract for every team. Publish the Dataset App once.
  • Keys, relationships, and definitions live with the table, not in a wiki nobody reads.
  • Parquet on S3 and DuckDB. No new warehouse, no lock-in, your bucket.
  • Snapshot versions on every run, so "what changed since Tuesday" is a query.

For founders

  • AI-ready data for your product without hiring a data team first.
  • Source to queryable dataset in minutes, not a quarter.
  • Keep data in your own bucket or network from day one. Investors and customers ask.
  • Reuse Dataset Apps shared with you instead of building the same feed everyone builds.
Book a demo

See LakeSwan on your own data.

Tell us what you're working on. We'll reply by email to set up a walkthrough, or to talk about piloting, building, or partnering together.

I'm interested in
No account needed. We only use this to reply to you.