Private AI · Self-hosted · Under NDA

A private workflow from tender intake to approved action.

A self-hosted system connecting tender intake, document extraction, supplier research, pricing, approvals and finance. Models run on the company’s hardware; people review records and approve outgoing actions. Delivered in phases, this illustrates a broader implementation rather than the scope of a starter pilot.

Client work under NDA. We show the problem, the system and the results, but not the client's name or screenshots. More detail is available on a call.

Workflow coverageRFQ → paymentA phased implementation, not the scope of a starter pilot.
  • Ollama · llama.cpp
  • Qwen3 (open source)
  • LangGraph
  • Python agent services
  • NestJS
  • React
  • PostgreSQL · pgvector
  • Docling OCR
  • Docker Compose
— 01 The approach

How we framed it.

One integrated platform, delivered in phases as deployment packages. Agents read the mail, extract the documents, source suppliers, draft the outreach and chase the replies, while a pricing engine reproduces the company's own sheet to the cent. Three hard rules run through all of it: the model handles language and code handles numbers; nothing becomes a record without a person; nothing is sent without a person.

— 02 How it works

Inside the build.

Mail and intake agents

Every connected mailbox is read. A router agent classifies each message (new request, quotation, purchase order, shipment update, invoice, supplier reply) and files it against the right record. Anything ambiguous goes to a short triage list instead of being guessed.

Document understanding with a person in the loop

PDFs, spreadsheets, Word files and scans, with OCR only where it's needed. Extracted fields are shown beside the original with low-confidence values flagged, and nothing is saved until a person confirms it.

Sourcing agent and knowledge graph

Per-line supplier research with token and time budgets, a knowledge graph of suppliers, products and routes, and drafted enquiries and follow-ups that a person reviews and sends.

Pricing and approval

Duty, freight, landed cost, margin and selling price are fixed arithmetic, never a model output. One screen shows the whole bid with all evidence, and approval is stored against the exact document version.

Finance and logistics

A multi-currency ledger, instalments from each purchase order's terms, working-capital exposure per deal, shipment tracking with document checklists, and a daily digest whose every figure is checked by a verifier agent.

Local inference, locked-down delivery

Self-hosted Ollama and llama.cpp with open-source models, GPU if present and CPU if not. Built entirely on dummy data with no developer access to production, and handed over as Docker deployment packages.

— 03 Outcomes

What shipped.

  • Replaced manual email triage, per-request Excel pricing, a manual payment tracker and a separate accounting view
  • Runs on the company's own hardware with local AI models
  • Agents propose, people decide, everything is logged
  • Delivered in phases as deployment packages

Have a similar workflow to improve?

Discuss your project →