Skip to main content
Skip the animation
Email us

Opening

Your data, in order.

AI assistants, data science and business apps. The model suggests, a human decides. An AI audit finds the quick wins, a POC proves them.

Scroll

Forty-eight scattered dots line up into a grid of eight by six; a single dot is orange.

Opening Forty-eight scattered dots line up into a grid of eight by six; a single dot is orange. same data, in order Opening Forty-eight scattered dots line up into a grid of eight by six; a single dot is orange. same data, in order

Agents

An agent, your tools, your sign-off.

We connect assistants to your business software. They look things up, suggest, and act only once you sign off.

  1. A request comes in.
  2. The agent calls a tool and reads the answer.
  3. The agent only calls what it needs.
  4. Before acting, the agent stops. A human signs off.

An agent linked to four tools and to a person who signs off before the action.

Agents An agent linked to four tools and to a person who signs off before the action. AgentCRMERPMailDocumentsA human signs offMCP · tools/call Agents An agent linked to four tools and to a person who signs off before the action. AgentCRMERPMailDocumentsA human signs offMCP · tools/call

Sovereign AI

A model, your walls, nothing leaves.

We deploy tailored AI models on your infrastructure. Your data stays with you: full sovereignty, no outside dependency.

  1. The model runs on your infrastructure.
  2. A request comes in and goes to the model.
  3. Exchanges stay encrypted and isolated, on your network.
  4. At the wall, the data turns back: nothing leaves.

A model inside a closed perimeter: the answer takes shape inside, the data touches the wall and comes back.

Sovereign AI A model inside a closed perimeter: the answer takes shape inside, the data touches the wall and comes back. Your infrastructureLocal modelvLLM · llama.cppRequestno data leaves Sovereign AI A model inside a closed perimeter: the answer takes shape inside, the data touches the wall and comes back. Your infrastructureLocal modelvLLM · llama.cppRequestno data leaves

RAG

A question, your documents, its sources.

We make an assistant answer from your documents and code. It searches by meaning and cites its sources.

  1. Your documents are cut into passages.
  2. Each passage is embedded and indexed in a vector database.
  3. A question comes in: similarity search, then reranking.
  4. Answers grounded in your own sources, cited.

Passages from three documents, laid out as points on a plane where like sits near like; a question lands among them and is linked to its five nearest passages.

RAG Passages from three documents, laid out as points on a plane where like sits near like; a question lands among them and is linked to its five nearest passages. closer = more alikeembeddings · rerankerk nearestcited sources RAG Passages from three documents, laid out as points on a plane where like sits near like; a question lands among them and is linked to its five nearest passages. closer = more alikeembeddings · rerankerk nearestcited sources

Extraction

A document, its fields, your data.

We turn your unstructured data — PDFs, invoices, technical drawings — into structured data, ready to check and use.

  1. Unstructured data: PDFs, invoices, drawings.
  2. The useful information is read and identified.
  3. Each item is normalised and set into a defined schema.
  4. The result: structured data, ready to use.

An invoice page: twelve of its fields are located, then set into a table of four columns by three rows; the document stays beside it, emptied of those fields.

Extraction An invoice page: twelve of its fields are located, then set into a table of four columns by three rows; the document stays beside it, emptied of those fields. incoming documentOCR · LLMstructured data Extraction An invoice page: twelve of its fields are located, then set into a table of four columns by three rows; the document stays beside it, emptied of those fields. incoming documentOCR · LLMstructured data

Data

Your sources, one model, what's needed.

Tables, documents, free text: we extract the valuable information from your data, even unstructured, and make it usable.

  1. Three sources, three shapes: table, documents, free text.
  2. Even unstructured, they join one common model.
  3. A question comes in: only the useful information is extracted.
  4. The extracted values become a readable result.

Three data sources — a table, nested documents, free text — arranged into a single five-column table; a question reads only three columns and six rows of it, at least one row from each source.

Data Three data sources — a table, nested documents, free text — arranged into a single five-column table; a question reads only three columns and six rows of it, at least one row from each source. questionone modelonly what's needed Data Three data sources — a table, nested documents, free text — arranged into a single five-column table; a question reads only three columns and six rows of it, at least one row from each source. questionone modelonly what's needed

Full stack

A screen, your data, in your hands.

We build the whole application: database, API, interface. Your data reaches the people who use it.

  1. Three layers: interface, API, database.
  2. An action on screen queries the database through the API.
  3. The data comes back and shows up to date in the interface.
  4. One application replaces the spreadsheet.

A cross-section in three layers: an application screen with its navigation, cards and table, linked through three API nodes to a database register; the action button is orange.

Full stack A cross-section in three layers: an application screen with its navigation, cards and table, linked through three API nodes to a database register; the action button is orange. interfacereplaces the spreadsheetAPIFastAPI · JSONdatabaseone application Full stack A cross-section in three layers: an application screen with its navigation, cards and table, linked through three API nodes to a database register; the action button is orange. interfacereplaces the spreadsheetAPIFastAPI · JSONdatabaseone application

Missions

All this, real clients, delivered.

We delivered it. Real missions, client names withheld.

  1. After-sales software, since 2021: AI assistant and connectors in production, spare-parts extraction from documentation, weekly fraud score.
  2. Home healthcare, 2026: AI audit and a five-module proof of concept.
  3. Insurance brokerage, 2026: email-handling copilot on a local LLM, with human sign-off.
  4. Manufacturing, 2026: an inventory web app replaces an Excel workbook.

Four missions set along a time axis from 2021 to 2026: an agent wired to its tools, an extracted page and a bar chart for after-sales software, running since 2021; five modules for home healthcare; a closed perimeter around a model and a sign-off gate for insurance brokerage; an application window for manufacturing.

Missions Four missions set along a time axis from 2021 to 2026: an agent wired to its tools, an extracted page and a bar chart for after-sales software, running since 2021; five modules for home healthcare; a closed perimeter around a model and a sign-off gate for insurance brokerage; an application window for manufacturing. after-saleshome healthcareinsurancemanufacturing20212026ongoing Missions Four missions set along a time axis from 2021 to 2026: an agent wired to its tools, an extracted page and a bar chart for after-sales software, running since 2021; five modules for home healthcare; a closed perimeter around a model and a sign-off gate for insurance brokerage; an application window for manufacturing. after-saleshome healthcareinsurancemanufacturing20212026ongoing

Contact

One dot, your data, let's talk.

The dot you have followed from the start is your data. Write to us and we will tell you what we can do with it.

Email us

Location
Nice, France

Forty-six dots ranged in a grid inside a frame, as in the opening; at the centre, the orange dot has widened into a button.

Contact Forty-six dots ranged in a grid inside a frame, as in the opening; at the centre, the orange dot has widened into a button. your datan = 48, in order46 dots, frame, button Contact Forty-six dots ranged in a grid inside a frame, as in the opening; at the centre, the orange dot has widened into a button. your datan = 48, in order46 dots, frame, button