StoaPack pallet mode: flat layers, heavy cases at the bottom
We gave StoaPack a pallet’s worth of margarine cases.
It built a tall, narrow tower. Every case was supported from below, so by the rules we’d written, the plan was valid. It was also the kind of pallet a forklift driver looks at for a long moment before going to find a supervisor.
StoaPack was built for parcels: pick the right box, pick the right warehouse, place every item. A parcel is a box you fill. A pallet is not. A pallet is built in layers, and our engine didn’t know that yet.
So we taught it. Two releases, two days.
Problem one: cases on their side
Margarine tubs ship in cases that say “this side up” for a reason. In our first margarine run, StoaPack laid some cases on their side, because tipping them made the numbers fit.
Keep upright (live 18 October): mark an item "orientation": "upright" and StoaPack only turns it on its base, never on its side. If a case only fits by tipping it, StoaPack reports it as not fitting instead of quietly tipping it.
Problem two: towers
Upright fixed the tipping. It didn’t fix the tower.
Pallet mode (live 19 October) builds pallets the way a warehouse team does:
- Full, flat layers of one product, with as many cases in each layer as the search can find
- Heaviest layers at the bottom
- Leftover cases as one block, centered on top
- Mixed pallets of several products, still in layers
- Up to 1,000 cases in a single request
You turn it on by marking your pallet as a pallet: "kind": "pallet" on the box. Existing request formats still work.
The question manufacturers actually ask
“If we switch to a bigger case, do we get more product on a pallet?”
You can compare candidate case formats in pallet mode before anything changes on a filling line.
Rules in plain words
Some rules aren’t about geometry. Write them in plain words, naming the item IDs:
“Never put
soap-baron the same pallet asoil-1lormargarine-500.”
StoaPack reads that, turns it into a separation rule and puts the soap on its own pallet. If you write a rule it can’t enforce, it refuses the request instead of returning a plan that ignores you.
Plain-language rules are an optional AI step. When you send one, item, box and packing data go to an external AI provider (Google Gemini or OpenAI). Leave rules out and pallet planning runs without AI.
How we tested it (including the parts we got wrong)
We didn’t take our own word for it.
- 287 earlier requests replayed against the new version: 286 came back identical, and the one difference was the change we intended (hazmat markings now come back in a fixed order). Existing request formats still work. A replay is a check, not a promise that every plan is unchanged.
One thing went wrong along the way, and it’s instructive.
Our own spec was wrong. We wrote that every case in a full layer must be 100% supported. That’s only possible when a layer sits on the same product. Different products don’t line up, so a margarine layer on an oil layer can’t be fully supported (they only need to meet the 75% minimum). The first build followed our spec faithfully and used a second pallet for a load that fit on one. We fixed the rule, not the engine.
What it doesn’t do yet
- Full truckloads in one job. Today you plan a truck in several requests; pallet packing jobs aren’t available.
- Stack-weight limits for crushable cases.
- Load stability in transit. StoaPack checks support from below. It doesn’t model a truck taking a corner.
- A guarantee of the absolute fewest pallets. The search is bounded: each request has a 2-second packing budget, and it doesn’t guarantee the globally smallest pallet count.
Try it
- Add
"kind": "pallet"to your pallet, mark any case that must stay upright with"orientation": "upright", and send your cases. - A pallet request counts as one request, whether it has 8 cases or 1,000.
- 50 free calls, no card.
Read more at StoaPack, or get in touch if you want to run your own case formats through it. We’ll happily talk about pallets for longer than is strictly reasonable.
Disclaimer
This content is for informational purposes only. Individual results may vary based on your specific circumstances.