Independent paid work for BR Logística, built in parallel with other roles (2025–2026).

The problem

BR Logística is small on the admin side and large in fleet. I did the analysis with the owner: there was no inventory system, only Excel. Stock did not drop on dispatch, and product expired in the warehouse.

I recommended lot-and-expiry control, outbound picking with automatic FEFO (so it would not depend on the operator), plus customers, returns, and adjustments for inbound/outbound traceability.

What I built

An internal WMS in production, with users and roles: lot-level inventory (stock is queried, not edited by hand), receiving, picking, suppliers, customers, returns, and adjustments. Stock only moves through documents.

Technical decisions

Same approach as Automotive: a modular monolith to keep cost down — one deploy, inventory and documents as separate domains. React + TypeScript SPA (Cloudflare, TanStack Query) and Java + Spring Boot API (Railway) on PostgreSQL, JWT, and Flyway.

The hard problem

Confirming a pick has to allocate the right lot by FEFO. Returns go back to the original lot, without breaking that ledger. The flow is DRAFT → CONFIRMED: stock does not change until the document is confirmed.

The outcome

Inbound/outbound traceability, inventory that moves on its own, less loss to expiry, and faster cycle counts and delivery prep.