Data rules everything around here.

We built this stack to run our own businesses, and we use it every day. Built with care, on real business data, from day one. Here's the whole process, and the architecture in plain language for whoever gets asked to check our work.

We're with you at every step.

A real engineer in the loop, learning how your business works and shaping the data pipelines and the tech around it.

00

Discovery.

A free one-hour call: where your data lives, what you want AI to do, and what we'd build first.

01

Connect, read-only.

One click per tool. You sign in as you normally would and approve read access: no passwords shared, nothing installed, nothing switched off. Managed connectors run under our account, on grants you approve and can revoke; our own pipeline code covers everything else. See all loch connectors →

02

Fill the loch.

Raw data lands untouched in storage you own, and stays. Every channel in one place, full history kept.

03

Build the brain.

Cleaned, joined, your business logic applied: one definition per number, served wherever your team works.

04

Put your team on it.

Dashboards for the team, your own AI tools plugged in over MCP and the API, and training on top of data you can trust.

05

Build on it, or take it over.

Custom tools and agents on your clean layer when you're ready. Or inhouse it: the project transfers to you, so your team takes over and nothing moves.

Scoped to your business.

No two businesses sell the same way, so no two marketing teams need the same numbers. Your build is scoped to the way you sell, on a live roadmap your whole team can see and add to. Even if you've made a start, we take what you've built already and build on top of it.

roadmap live, shared, whole team adds to it
scope agreed with you, then written down
start from anything, even a heroic spreadsheet
day one nothing switched off, nothing changes

Start with the data. Then put it to work.

Building your broch

A one-off build to get it standing. It starts with a free one-hour discovery call.

The data retainer

The core engagement, monthly. Running the sources, keeping the definitions right, and adding to it as the business changes.

Marketing agency services

Optional add-on with its own retainer. Not every client takes it, and the two never share credentials.

Inhousing

The defined exit. The project is handed over as it stands, so nothing moves; your team takes over the running.

You'll never need to buy a warehouse.

Three systems.

Your database runs the business, one customer at a time. The warehouse was rented: clean copies of everything, charged by the month. The shed took the raw overflow at storage prices, on the understanding that somebody would sort it out later. Three bills, plus the people employed to move data between them.

The warehouse came apart.

It was three things sold as one: somewhere to keep the files, a system for organising them, and software to answer questions. Those parts are separate now. The files sit in a bucket you own, the organising is an open format anyone can read, and the software runs on a small server when someone has a question.

You end up with two.

Your database, untouched, plus one store holding everything else that behaves like a warehouse whenever it's queried. It does the warehouse's job without the warehouse's bill.

Snowflake, Databricks, BigQuery and Amazon all read and write these open formats now. We build the same way, at your size.

Big companies rent a warehouse and own a messy shed. You own one tidy shed that does both jobs.

The jargon, translated.

Your database Runs the business, one customer at a time. Stays exactly where it is.
The warehouse The rented archive: clean copies of everything, priced like it.
The shed Cheap raw storage where data goes to get lost.
Your loch One clean store that does the last two jobs, built for you and handed over. Ours.
Vector search Search by meaning, not keyword. How the brain finds the right passage in your documents.

The loch and the brain, in practice

Raw lands untouched in storage you own, so nothing is ever lost and everything can be replayed.

The words as well as the numbers: documents, meeting notes, call transcripts and decks, versioned and indexed down to the passage, so an answer can point at the exact section it came from.

We're not looking your data up, we're keeping it. The platforms trim their own history. Your loch keeps all of it.

Every number is defined once and everything reads from the same place, so a chart on the wall and a question in a chat give the same answer.

Freshness is tracked. When the data can't support an answer, it says so.

The loch comes with its manual. What each table means, where it came from, and what your team knows about it: tracking outages, bot traffic, the month a definition changed. Any AI you point at it reads that first, so it explains the odd months instead of reporting them as news.

The plain-language version →

Boring tech, chosen on purpose.

Cloudflare R2
Supabase
PostgreSQL
DuckDB
DuckLake
Python
Flask
GitHub
GitHub Actions
Docker
Railway

Fair questions

We've already half-built something. Does that count?

Yes. A warehouse project that stalled, a heroic spreadsheet, a tangle of Looker Studio reports: we take what works and build on top of it, and nothing you rely on gets switched off.

Do we need a data engineer on staff?

No, that's the point of the retainer: one inside your team without the salary or the managing. When you do want it on staff, inhousing is the defined exit, and your team takes over the project we built for you.

What happens if we stop working with you?

Nothing moves, because the project transfers to you as it stands. Revoke our access and you keep the loch, the pipelines, the dashboards and every byte of history.

How fresh is the data?

Scoped per source: hourly, daily or on demand. Fresh isn't the same as final. Every platform keeps revising its recent past as conversions land late, so each sync re-reads a window of it. Freshness is tracked in the loch, and when the data can't support an answer, the brain says so instead of guessing.

Can our own AI tools read it?

Yes. The loch speaks MCP and has an API, so Claude, ChatGPT or anything else your team uses answers from the clean layer, reading the same definitions and the same notes ours does.

If we disappeared tomorrow, your stack keeps running.

Open formats, storage in a project built to be handed over, one login that matters. Every tool is a guest, no tool is a landlord, and we run orthogonally to your business, so pulling us out breaks nothing. Ask any of the alternatives who owns what when the contract ends. Then ask us.