Home
← Gradient

Gradient

Inventory system

I helped design the onsite PostgreSQL and MinIO that served our inventory system, and I was a key part of the hierarchical architecture of locations and objects. I did not build the PostgreSQL or MinIO myself; a previous engineer did that.

Entity relationship diagram for locations, plates, bins and cards
The ERD for locations and objects.

But I built all the infrastructure that talked to it. Every machine ran a client I wrote to interact with the inventory backend. I also built Sitesync, a cloud service dedicated to syncing our local inventory cache with the cloud: Odoo ERP, MongoDB, and S3 for the images. It is one of our longest running services, over a year now.

Sitesync moves roughly 20 to 60 records a second, depending on how much image data is being offloaded. It uses a queue with multiple worker modules so inputs get handled reliably and in sequence.

Sitesync architecture: queue manager, work queue, exporters to Odoo, ProdAPI and Sitecache
Sitesync: a work queue, worker threads, and exporters.
  • 2.5Mcards per aisle
  • 20-60/sSitesync throughput
Aisle of barcoded card plates
One aisle holds 2.5 million cards.
Quad box storage shelving
Quad boxes: denser storage, same tracking.
← Back to Gradient