Case study
Santoral Logistic
For Maed Logistic Trading

The problem
Maed Logistic Trading ran its operation on manual processes and legacy systems. Quotes, shipments, inventory and client data lived apart, so answering something as simple as "where is this shipment?" meant pulling information from several different places, each with its own version of the truth.
Context
It's a trading and freight logistics operation: they quote, they ship, they store. The brief was to digitize and standardize that entire operational flow, replacing the manual and the legacy with a single system. [PENDING: size of the operation and how many people use the system daily]
The solution
- Transportation management (TMS): quotes and shipping orders
- Warehouse management (WMS): inventory operations
- Client management (CRM): customers and contacts
- Shared base configuration across every module
Features
- Base catalogs for the operation: currencies, transport modes, package types and ports.
- Customer and contact records, reachable from any module.
- Quote generation and tracking.
- Shipping orders linked to the quote that originated them, so the same data is never captured twice.
My role
Technical decisions
One deployment, not two applications
I chose a modern monolith with Inertia.js rather than splitting API and SPA. For an internal team that means a single place to deploy and a single permission model; splitting it would have doubled the maintenance without giving the client anything.
PostgreSQL because everything depends on everything
A shipping order is born from a quote and carries client, port, currency and package type with it. If those relationships aren't consistent, the system stops being a trustworthy source and the team goes back to the spreadsheet.
Docker from day one
The client's environment and the development environment are the same one. It's how "works on my machine" stops being a conversation, and how the system can move servers without redoing the setup.
Stack
Difficulties
- [PENDING: real technical difficulties — migrating off the legacy systems, team adoption, or whatever was hardest]
Result
- The MVP is in production and replaces the separate quoting, shipping, inventory and client processes with a single flow.
- The shipping order is generated from the quote, so data is captured only once.
- [PENDING: observable result in daily operation — what changed for the team]
Demo
The best proof is the system running. It's live:
Open the demo