Development · software services

We build intelligence platforms for healthcare and pharma companies.

The data layer, the lenses, the natural-language query service and the trade explorer. Built under your brand, on your data or ours, owned by you. It is the same stack we run ourselves, so nothing on this page is a proposal; it is a description of working software.

3platforms we build and operate today
9lenses built over one molecule spine
177datasets harmonised, each with its vintage
657verified questions in the Ask library

What we build

Four parts. Use one, or all four.

Each part exists as running software on our own platforms. A build for you starts from that code, not from a blank page.

Data layer

Ingestion from authorised sources. Harmonisation onto one molecule spine, so every register lands on the same key. Prebuilt marts for the questions you ask most. Vintage stamping on every record. Integrity checks that run on each refresh.

Lens interface

Decision views over the resolved data. Each lens arranges the same numbers around one question. Source and vintage sit under every figure. Every view exports to a spreadsheet.

Natural-language query service

Retrieval over entity and schema indexes before anything is written. SQL written, then validated. Read-only execution with a cap on every query. Scope and provenance guards on the answer. When the question is unclear, it asks first.

Trade explorer

Shipment-level search over export and import records. Company and country profiles built from the same records. A flow analyser that follows one product to every buyer. A global module for bilateral flows by product and period.

Proof: what we run

Every screen here is a platform we built and operate.

These are not mock-ups. They are live systems on real records, in use today. A build for you starts from this code.

healthcare · data atlaslive
Data Atlas listing datasets with record counts, source register, vintage and integrity status

Healthcare & Pharma platform. Built and operated by us: the Data Atlas, nine lenses and Ask over 177 harmonised datasets.

trade · company profilelive
Trade explorer company profile showing shipments, products, destinations and buyers for one exporter

Trade Data platform. Built and operated by us: shipment-level search, company and country profiles, flow analyser and global module.

ask · verified answerlive
Ask console answering a plain-English question with verified figures, entities and the query behind them

NLQ · Ask. Built and operated by us: the query service with its retrieval, validation and provenance gates, and a library of 657 verified questions.

How a build fits together

Your registers, our registers, one platform.

Your internal data and our harmonised sources are resolved onto the same spine. The platform that reads it carries your brand. At the end you decide whether we keep running it or you take it over.

build · registers in, your platform outlive
INPUTS · YOURS AND OURS YOUR REGISTERS sales · CRM · plants · files stays inside your deployment OUR REGISTERS 177 datasets · 1.6mn+ shipments ✓ authorised sources · vintaged HARMONISE ONE MOLECULE SPINE resolve every source to one key max across grains, never sum marts prebuilt · vintage stamped integrity checks on each refresh read-only · capped per query YOUR PLATFORM · YOUR BRAND Lenses · decision views Ask · verified answers Explorer · shipments, profiles RUN IT OR OWN IT RUN IT managed by us refreshed on release OWN IT code handed over pipelines included single-tenant · your data never leaves the deployment same number in every view · source and vintage shown

Stack

Ordinary, well-tested parts.

Nothing exotic. The stack is chosen so that your own engineers can read it, run it and change it after handover.

  • Next.js
  • React
  • TypeScript
  • DuckDB
  • PostgreSQL
  • FastAPI
  • Python
  • vector index for entity and schema retrieval
  • model provider API for drafting SQL
  • Playwright end-to-end tests
  • Vitest unit tests

How it is deployed

Single-tenant: one deployment per client, on your infrastructure or ours, with nothing shared between clients. The warehouse is opened read-only; the platform reads, it never writes. Every query carries a time and memory cap, so one heavy question cannot slow the rest. Every answer is auditable: an Ask answer ships with its SQL and the records it used, and every lens figure names its source and vintage. The text of a question goes to the model provider to draft SQL; your data does not.

How an engagement runs

Start on your questions. Finish with a platform you can run or own.

The spine, the lenses and the question library already exist. A build for you starts from them, which is why the first working screen is on your data, not on a sample.

01

Discovery on your question set

You bring the questions your teams ask most. We map each one to the registers that answer it, the lenses it needs and the gaps in your data or ours. The output is a scope you can read in one sitting.

02

Build on your data

Starting from our spine and lenses, we harmonise your registers onto the same key, build the marts your questions need and put your brand on the interface. Each figure carries its source and vintage from the first build.

03

Pilot with your team

Your analysts use the platform on real work. Their questions go into the verified library. What they cannot answer becomes the next lens or the next mart. Nothing ships until it survives their use.

04

Run it or own it

Managed by us, refreshed as registers are released, or handed over with the code, the pipelines and the tests so your engineers carry it forward. You choose at the end, not the start.

Two ways to own it

Our platform, deployed for you. Or yours, built by us.

The difference is who the platform belongs to. Both sit on the same spine and pass the same checks.

Option A

Data + intelligence platform

Our data packages and our platform, deployed privately for you. The lenses, the Data Atlas, Ask and the trade explorer, on your infrastructure or ours, refreshed as registers are released. Your internal registers can be added to the spine. We run it.

  • Fastest to a working screen. The platform already exists; deployment is the work.
  • Your data stays inside. Single-tenant, nothing shared with any other client.
See the data packages →
Option B

Your own platform

Built under your brand, for your questions, on your data, ours or both. The data layer, the lenses you need, the query service and the explorer, delivered with the code, the pipelines and the tests. You own it and your engineers run it.

  • Code handed over. Repositories, pipelines and test suites are yours.
  • Starts from what we run. The spine and the lenses are the starting point, not the deliverable.
Talk about a build →

Questions we are asked

Before you ask for a build.

Do we own the code?

Yes, when it is handed over. A platform built under your brand is delivered with its repositories, pipelines and tests, and it is yours from then on. A managed deployment of our platform stays ours; you own the data you bring to it.

Can it run on our infrastructure?

Yes. The platform is single-tenant and runs on your infrastructure or ours. Nothing in the stack depends on a particular host.

Do we have to use your data?

No. A build can run on your data alone, on ours alone, or on both harmonised onto the same spine. Our packages are available when they help and left out when they do not.

Is anything sent outside?

The text of a question goes to the model provider so it can draft SQL. Your data, the records and the answers stay in the deployment.

Bring the questions. We bring the platform.

Send the questions your teams ask most. We will show you, on the live system, how much of the answer already exists and what a build for you would add.