Nxord
B2B Order Automation for HoReCa distributors — multimodal AI meets ERP integration
In production — nxord.com ↗ · demo video ↗
Overview
Nxord is a full-stack B2B web platform that automates order management for food & beverage distributors operating in the HoReCa (Hotel, Restaurant, Catering) sector. Built to eliminate manual order entry, the system accepts orders in any format — PDFs, WhatsApp photos, emails, audio recordings — and uses multimodal AI to turn them into validated, structured records ready for export to the ERP.
The platform is in active production use by a wholesale distributor, processing daily orders with measurable time savings per transaction.
The Problem
HoReCa distributors receive orders through dozens of unstructured channels: handwritten receipts photographed on WhatsApp, scanned faxes, voice memos, emails with inconsistent formatting. Beyond the transcription burden, the data was completely fragmented — each order lived in a separate thread or inbox with no unified record. No client purchase history, no visibility into order trends, no basis for business decisions. Operators had to manually transcribe every item, cross-reference the product catalog, and re-enter everything into the AS400 ERP. The process was slow, error-prone, and scaled poorly with volume.
Solution
Nxord addresses the fragmentation problem end-to-end — from ingestion to intelligence:
- Multimodal extraction — operators drag-and-drop any format (PDF, photo, audio, email). Google Gemini extracts structured product and quantity data regardless of source, consolidating fragmented channels into a single pipeline.
- 3-stage semantic matching — exact code lookup → fuzzy string matching → cosine similarity over pgvector embeddings. Handles spelling variations, short codes, inconsistent naming across sources.
- Commercial Intelligence — once orders are structured and unified, the accumulated data powers a full analytics layer: per-client purchase history, YoY trends, basket-analysis upsell opportunities, global KPI dashboard with Pareto concentration, and on-demand AI briefs streamed word-by-word via SSE.
- ERP integration — validated orders exported in AS400 fixed-width format via SFTP, with full audit trail per order.
Key Features
Multimodal AI Extraction
- Accepts PDF, images (JPG, PNG), audio, and plain text
- Google Gemini processes files asynchronously via Celery workers
- Handles WhatsApp photos of receipts, scanned faxes, informal messages
3-Stage Semantic Product Matching
- Stage 1: exact code lookup
- Stage 2: fuzzy string matching
- Stage 3: cosine similarity over pgvector embeddings
- Confidence score per item; uncertain matches flagged for review
Architecture Decisions
Offline vs online computation. The analytics pipeline is split: a batch job processes the
sales history CSV in pure Python and stores pre-computed JSON reports in PostgreSQL. At request time,
the API does a single SELECT — no computation, no ORM joins.
pgvector for semantic matching. Every product name is embedded at upload time. Order items are matched by cosine similarity. The 3-stage pipeline (exact → fuzzy → semantic) keeps precision high.
Session auth, no JWT. Django session cookies with credentials: include.
The right choice for a B2B internal tool where server-side invalidation matters.
SSE streaming for AI briefs. Gemini takes 5–15s to produce a brief. Server-Sent Events stream the response word-by-word to eliminate the perception of waiting.
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite 7, Bootstrap 5.3 |
| Backend | Python 3.12, Django 5.2, Django REST Framework |
| Database | PostgreSQL 16 + pgvector |
| Task Queue | Celery 5 + Redis 7 |
| AI | Google Gemini (multimodal extraction + streaming brief) |
| Infrastructure | Docker Compose, Cloudflare Tunnel, Hetzner VPS |
| Quality | pre-commit (black, mypy, ESLint, tsc, bandit), GitHub Actions CI |
My Role
Co-founder of Nxord. I built the full stack: Django REST API, Celery task pipeline, pgvector embedding and matching, SFTP export, React frontend, Docker infrastructure, and CI. The analytics computation layer was developed collaboratively with my colleagues; I designed the schema contract and all Django/API integration.
In production. First client: active daily use since early 2026. Pre-revenue — expanding to additional distributors in Q2/Q3 2026.