Skip to content
Contextumby AnetLabRequest a demo

For investors

The document layer every AI stack has to build.

PDF → Markdown → compressed context → embeddings → search

Contextum is a self-hosted service that turns PDF, DOCX, XLSX and PPTX into the context an agent can use. The customer deploys it, keeps the documents inside their own perimeter, and reads the numbers at every stage — including which of them came from a simulator.

01 / The problem

An agent stack is only as good as the file part of it

One service instead of hand-written converters.

01

The model cannot read PDF and DOCX

Conversion to Markdown by the format converter — headings, tables and lists recovered, and a registry of what did not survive.

02

The context window is finite

Context compression with measurable savings. The engine reports what it saved on this document, and names the stage that measured it.

03

The agent must remember across sessions

Embeddings, a vector index and a knowledge base — searched with citations and a heading path, not with a loose paragraph of context.

04

Conversion must not share resources with the orchestrator

A separate service with its own roles and its own scaling. The unit of scale is the role, not the agent.

02 / The product

Five stages, one HTTP call, one deployment

The pipeline is not a library to install and not a hosted API to call. It is a service with its own roles, its own scaling and its own console, and it runs where the customer says it runs.

StageWhat it doesEngineWhat it returns
CONVERTPDF, DOCX, XLSX, PPTX, Markdown, HTML and plain text into Markdown. A PPTX becomes a MARP deck.the format convertera Markdown artefact and a registry of formatting losses
COMPRESSContext compression and chunking by heading.a fork of MarkdownCompressor.NETcompressed Markdown, chunks and savings metrics
EMBEDA vector for every chunk.local Ollama or any OpenAI-compatible /v1/embeddings, bge-m3, 1024 dimensionschunk embeddings
INDEXWrites into the vector index and searches it.PostgreSQL and pgvector, a partial HNSW index per tenantthe index, and search results with citations
VAULTA knowledge-base article, versioned by content hash.PostgreSQLa versioned article

03 / The evidence

The measurements, with the conditions

One document, one stand, one date: 2026-10-23. The same table the landing page publishes — nothing is added here that is not published there.

MetricValueWhat it changes in your stack
Document relative to the source file1 886 125 → 856 923 bytes−54.6 %The bytes you upload are not the bytes the model pays for: 1.8 MB in, 0.85 MB of context out.
Chunks in the index293The granularity your retrieval works at. The search below answers on a corpus of 10 documents.
Whole pipeline37.5 sA 141-page contract, end to end. Embedding is 14.5 s of it.
Embeddings alone (293 chunks)14.5 sThe stage you scale on its own when the corpus grows.
Token counttiktoken:o200k_base — exact for gpt-4oExact where the model publishes a tokenizer; an approximation for Claude and Gemini, and the metric says which.
Knowledge-base search3 hits, best score 0.588with a citation and a heading pathHits with a score and a heading path — not a paragraph of guesswork.

Search quality, measured separately

Against a corpus of 10 documents. The baseline is plain text with chunking.

MetricPlatformBaseline
recall@51.0000.694
nDCG@50.8530.564
MRR0.8750.667

The number the platform does not own

The token count is exact for the models that publish a tokenizer — gpt-4o is measured with tiktoken:o200k_base. For Claude and Gemini it is an approximation, and the metric says which one it is.

Compression is not universal

The long-context profile measured 0.25 % against 19.05 % on the aggressive one. A saving is a property of the document and the profile — not a property of the platform.

04 / The business model

A licence that ships, and support that recurs

Contextum is licensed, not rented. The customer pays for the delivery and for the conversion licence, which is perpetual and travels with the delivery, and for support and product updates, which are paid year by year. The service itself runs on the customer's own infrastructure — what AnetLab carries per customer is the support, not the running cost.

Two things follow the terms: the size of the deployment and the support level. The number of documents a customer processes is not on the invoice, and there is no hosted plan to upgrade to.

The motion is land and expand. For the first customer we work with, the product itself can be free, and what is paid is support — support is what pays for the work of adapting the product to that customer's documents. We take one such customer at a time.

What is not published here

There is no list price, no price range and no market-size figure on this page. The terms of a deployment are worked out with the customer, and the market is described in the words of the product rather than in a number we cannot defend.

05 / Where it stands

POC → MVP, and what that means exactly

Two lists, both of them published on the landing page. The first is what works; the second is what does not work yet.

What is real

  • Five stages on real engines: the format converter, the compression engine, the embedding provider and the vector index.

  • The operator console — every job, every artefact and every stage metric, live.

  • The measurements, published with the conditions and the date.

  • The tenant model: the tenant comes from the key, and the key never leaves the gateway.

  • A free mode with a documented limit, and a delivery that runs with one command.

What is not yet

  • Upload limit - 64 Mb. Anything larger returns 413. The limit is set deliberately, not grown by accident.

  • Job state lives in PostgreSQL. Without a PostgreSQL connection the pipeline does not start: the state of a job cannot be kept in process memory. The supported no-PostgreSQL mode is an in-memory fallback with a loud warning, for local development.

  • Progress is polled. There are no webhooks and no event feed — the state of a job is read from the same HTTP API that started it.

  • Per-document access rights are not modelled by the platform. Auditing lives in the log, and authorization is the agent layer’s job.

06 / Traction

Where the conversations are

Contextum is at POC → MVP. There is no revenue to report and no customer count to publish yet. What there is: design partners and pilots working on the product, letters of intent, and a working pipeline with a console and a set of measurements taken on a 141-page contract on 2026-10-23.

The anchor customer — the one that stays — is what we are looking for now. We take one at a time, because the support that comes with it is what pays for the next version of the product.

The alternative to a customer count

Anyone can read the product, run the numbers and check the limits. The landing page carries the measurements, the conditions and the format registry — the claim that can be checked is stronger than a count of logos.

07 / The team

AnetLab

A studio with one product in the market.

Contextum is developed by AnetLab — Victor Buzin, Founder & Principal Engineer. The product, the studio and the commercial contact are the same party: there is no vendor layer between the person who asks the question and the person who wrote the code.

Also worth knowing

AI Runtime Layer is the studio's companion product for the runtime around the agent. Contextum is the document layer under it — the two are designed to sit together and to be sold separately.

08 / What is next

The next milestones are written by the limits

A dated roadmap and the terms of the round are still being prepared. What is already determined is the order of the work, because the limits are published.

  1. The event feed

    Progress is polled today. Webhooks and an event feed replace it, so a job can announce itself.

  2. Per-document access rights

    Today authorization is the agent layer's job. The platform does not model who may read which document.

  3. The upload limit

    64 MB is deliberate, not accidental. The production profile raises it with the customer.

  4. The production release

    A supported deployment with a support commitment behind it — the part the licence is sold with.

09 / Talk

Ask the hard questions

The product is public, the measurements are public, and the limits are public. The rest — the terms, the roadmap and the round — is a conversation.

Prefer to write directly? investors@anetlab.com

What to bring

  • The corpus you would run through it first — the document set is the demo.

  • The deployment shape you have in mind: the number of roles, the database, the cloud.

  • The question you want a number for.