IRISYS  /  Platform
No. 04

One data spine.
Three applications. Zero drama.

The platform under IRIS Retail, Distribution and Procurement is the same platform. The same identity, the same audit log, the same integrations — composed differently per application.

— 01 / Architecture

The shape of the system.

IRISYS · ARCHITECTURE SIMPLIFIED IRIS · Retail IRIS · Distribution IRIS · Procurement API GATEWAY · AUTH · RATE-LIMIT · AUDIT FORECAST REPLENISH ALLOCATION PROCURE CONVERSATIONAL LAYER · LLM ORCHESTRATION · NL → SQL → ACTION POSTGRES · master data REDIS · cache · queue WAREHOUSE · BI export
Layer-by-layer

A single API. A single audit log.

Three applications sit on top of one gateway. The gateway authenticates, rate-limits, logs every call. Underneath: domain services (forecast, replenish, allocation, procure), the LLM orchestration layer, and a shared data plane.

You can write your own application on top of this same API. We do.

— 02 / Stack

The choices, made transparently.

ChoiceWhy
API runtimeNestJS · TypeScript · Node 20 LTSStrict typing across the stack. Strong DI. Audit-friendly module boundaries.
ForecastingPython · FastAPI · Prophet + custom modelsPython remains the right home for ML. The forecast service is independently versioned.
WebReact 18 · TypeScript · ViteModern. Server-state via React Query. Material-UI primitives, customised heavily.
DatabasePostgreSQL 16 · Prisma · multi-tenant by rowOne schema, tenant_id everywhere, soft-deletes by default. Reviewed in CI.
Cache & queueRedis 7 · BullMQBacked by Redis Cluster in production. Idempotent job handlers.
Object storeS3-compatible (MinIO in dev · AWS S3 / OVH in prod)For imports, exports, supplier documents, batch attachments.
LLM orchestrationAnthropic Claude · OpenAI · pluggableFunction-calling against our own NL → SQL → action layer. No model lock-in.
ObservabilityOpenTelemetry · Grafana · Loki · SentryTrace every cross-service call. Audit log is structured and queryable.
CI/CDGitHub Actions · Docker · KubernetesFrozen lockfiles. Reproducible builds. Blue-green deploys.
— 03 / Integrations

We meet your systems where they live.

— ERP

SAP · Oracle · Microsoft Dynamics · Sage

Bidirectional connectors for masters, orders, invoices. Idempotent, observable, auditable.

— POS

Cegid · Wynd · Lightspeed · Shopify POS

Near-real-time POS ingestion. Sub-15-minute SLA from till to dashboard.

— WMS

Manhattan · Generix · Reflex · Hardis

Stock state and movements pulled in nightly or streaming. Lot-level fidelity preserved.

— TMS & carriers

Generix TMS · Alpega · Chronopost · DPD · UPS

Rate cards, transit windows, capacity. Auto-selection driven by SLA and unit cost.

— MES & LIMS

Werum · Emerson Syncade · LabVantage

For Procurement: production execution and laboratory data fed into the audit graph.

— BI

Snowflake · BigQuery · Databricks · Power BI

Push to your warehouse on your schedule. Schema documented, contract-tested.

— Identity

Okta · Azure AD · Google Workspace

SAML 2.0, OIDC, SCIM. SSO is table stakes; we treat it that way.

— Custom

REST · GraphQL · Webhooks · Kafka

For the long tail. Bring your own bus, we'll publish and subscribe respectfully.

— 04 / Security & compliance

Posture, not paperwork.

— Certified

SOC 2 Type II

Annual independent audit. Report available under NDA.

— Certified

ISO 27001

Information security management system, externally certified.

— Aligned

GDPR

EU data residency. DPA on request. Sub-processor list public.

— Aligned

21 CFR Part 11

For Procurement: electronic records and signatures evidence ready.

— Aligned

EU GMP Annex 11

Computerised systems for regulated CDMOs. Validation pack provided.

— Tested

Penetration testing

Bi-annual external pen tests. Findings remediated transparently.

99.95%
Contractual uptime SLA
EU·
Default data residency
AES-256
Encryption at rest, TLS 1.3 in transit
RPO 5min
Point-in-time recovery target
— 05 / AI, demystified

What "AI" means, here.

Position Deterministic when we can, generative when we must.

Forecasts are produced by Prophet and custom seasonal models — deterministic, reproducible, defensible. The same input yields the same output.

The conversational layer uses an LLM, but it does not hallucinate your data. We translate natural language into queries against the same SQL the dashboards run. The LLM's job is interpretation; the database's job is truth.

You can swap the underlying model — Claude, GPT, a local LLama deployment. We don't lock you in, and we don't pretend the model is the magic. The discipline around it is.

Security & engineering
questions?

We are happy to share the architecture deck, the SOC 2 report, our DPA, our sub-processor list, and to introduce you to the engineers who wrote the code.