WMS with FEFO
A product → batch → movement model with pick by nearest expiry (First-Expired-First-Out), location and open or fractional volume. Entries, exits and losses tracked by origin.
ZeloStock is AI-powered inventory control for homes and small businesses: you scan the barcode — or just take a photo — and the AI identifies and registers the product. The app handles the rest: expiry, location, batch pick (FEFO), expiration alerts and even recipe suggestions using what is about to expire. It is an LNData multi-tenant SaaS, installable as an app (PWA) and already in production.
Homes and small shops have no inventory system that fits their routine: spreadsheets are tedious, enterprise WMS is too expensive and complex, and the result is expired food at the back of the shelf, duplicate purchases and losses no one sees. Registering products one by one, with expiry and location, is exactly the part no one has the patience for.
We built ZeloStock, a SaaS that swaps typing for the camera: scan or photograph, and the AI registers the item; import the invoice (XML or QR) and stock comes in item by item with expiry and location. Underneath, a real WMS with FEFO and batch pick, plus AI applied pragmatically and a complete subscription billing system (Pix).
Inventory control stops being a spreadsheet and becomes an app that fits in your pocket: register by photo, get alerted before expiry and see what to do with what is about to expire. What used to be an enterprise WMS becomes accessible to the home and the small business — in production, with billing in local currency.
A monorepo with a shared core of business rules across several apps (web, API, bot, admin, site). Input arrives by camera, invoice or agent; the WMS core applies the rules; and organized inventory comes out as alerts, recipes and movements — all isolated per tenant at the database level.
From scanning to recipes, via invoices, AI agents and billing — a complete inventory product, designed to fit the routine of people who are not in logistics.
A product → batch → movement model with pick by nearest expiry (First-Expired-First-Out), location and open or fractional volume. Entries, exits and losses tracked by origin.
A custom camera abstraction with native barcode reading. A practical evolution: it moved from live scanner to still photo with local optical decode, because pure AI got the EAN digit wrong — AI came in as backup.
Imports the invoice via XML (matching by EAN, no AI) and via NFC-e QR, with per-item expiry and location, item-by-item entry and dedupe of already-imported invoices.
Recipe suggestions based on your pantry, prioritizing what is expiring, and a natural-language assistant with tool-use. All AI is triggered by an explicit button, with a credit-used notice.
A REST API with agent tokens, an MCP server with OAuth 2.1 that lets external AI agents operate the inventory, and a hybrid Telegram bot (commands + natural language) linked to the tenant.
Web Push (VAPID) and email for expiry alerts, with digest and opt-in preferences — the alert arrives before the product becomes a loss.
What sets ZeloStock apart from a list app is the engineering behind the AI — applied pragmatically, with credit governance and open to external agents.
The engineering decision that matters: instead of blindly trusting the AI (which got the EAN digit wrong), the code is read by local optical decode on the photo, with AI stepping in only as backup. Pragmatism that raises accuracy.
Each AI call reserves the credit atomically before running (solving the quota race), with a refund on failure. The tenant can bring their own AI key (AES-256-GCM encrypted), with a discount and no quota.
The inventory is exposed to third-party AI agents via an MCP server with OAuth 2.1 — the product does not just use AI, it lets other agents securely operate it.
Scanning is the visible part; underneath is a real billing system, database-level isolation and the engineering that keeps it all running in production.
Credit-based plans with Pix payment (idempotent webhook), a credit ledger with expiry (FEFO, clawback and revive), seat-based pricing, coupons, trial and immediate upgrade / scheduled downgrade.
Real database-level isolation (Row-Level Security FORCE per tenant), always accessed via a tenant layer — not just an application filter, it is Postgres enforcing the separation.
A separate app with TOTP to view/change plans, suspend, grant credits and approve sign-ups — all audited and without RLS bypass — plus a financial-health panel cross-checking AI cost × revenue.
CI/CD with GitHub Actions, ~40 versioned migrations (Drizzle), observability with a dead-man-switch and alerts, daily backup and deploy on a VPS with Docker, Caddy and Cloudflare.
The registration no one has the patience for becomes a gesture: scan or photograph — and the AI registers the item.
Loss to expiry drops: FEFO on pick, an alert before expiry and a suggested recipe with what is about to expire.
An enterprise WMS becomes accessible to the home and the small business, with subscription in local currency and Pix billing.
In production as a PWA, multi-tenant with database-level isolation, open to external AI agents via MCP.
If you want to stop losing products to expiry and control your inventory by scanning instead of typing, ZeloStock solves it. Explore the platform or talk to LNData.