LNData LNData
Back to products LNData Product · ZeloStock

Scan, organize, control. Everything in its place.

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.

Visit the site zelostock.com.br
Role · Proprietary product · architecture, full-stack engineering, applied AI and infrastructure
Status · Multi-tenant SaaS · in production · installable PWA
In short, for decision-makers
The problem

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.

What LNData did

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).

The result

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.

ZeloStock
WMS + AI
smart inventory control
PWA
installable, no app store
Multi-tenant
RLS FORCE in Postgres
In production
zelostock.com.br
Scan / photograph
the AI identifies and registers the item
FEFO
batch pick by nearest expiry
Invoice
entry via NF-e XML and NFC-e QR
AI recipes
uses what is expiring first
The engineering behind it — for those who want the technical detail

Architecture

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.

Input
  • Barcode · optical decode
  • Product photo · vision + AI
  • Invoice · NF-e XML / NFC-e QR
  • Agents · API / MCP / bot
WMS core + AI
Product → batch → movement (FEFO)
RLS FORCE per tenant
AI backup (Claude) + tool-use
Credits with atomic reservation
Output
  • Inventory organized by expiry
  • Expiration alerts · Web Push + email
  • Recipe suggestions

What the platform does

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.

Core

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.

Scanning

Camera and computer vision

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.

Invoice

NF-e / NFC-e import

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.

AI

Recipes and assistant

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.

Integrations

API, MCP and Telegram bot

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.

Notifications

Alerts before expiry

Web Push (VAPID) and email for expiry alerts, with digest and opt-in preferences — the alert arrives before the product becomes a loss.

The intelligence that makes the difference

What sets ZeloStock apart from a list app is the engineering behind the AI — applied pragmatically, with credit governance and open to external agents.

Optical decode + AI backup

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.

Credits with atomic reservation and BYO key

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.

MCP server with OAuth 2.1

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.

Beyond the core

Complete billing, multi-tenancy and production engineering

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 and subscription billing

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.

Multi-tenant with RLS FORCE

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.

Operator back-office

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.

Real production engineering

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.

SvelteKitPostgreSQLDrizzleDocker

Impact

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.

Platform stack

SvelteKitTypeScriptHonoPostgreSQLDrizzleAnthropicAsaasDockerCloudflare

Want to see ZeloStock in action?

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.