I’m trying to figure out if Shopify has what I need.
Here’s the deal. I make gift boxes and have three size boxes. I have multiple items of different sizes that you can chose from to fill your box. The cart starts with the smallest box and as you fill your cart with your desired items, the box size changes to the appropriate size in the cart.
Here’s the math behind it. There’s three sizes of items as well that we have designated: small=1, medium=2, and large=3. The numbers are not for the customer to see but for the math formula to equate which box should be used. As items are being put in the cart, the cart is adding up the numbers to decide which box to use, just like it adds up the total price (except I don’t want the customer to see the size formulation). For example, the small box holds 5, medium=9, large=11, so if someone chooses two large items, the sum would be 6 which would mean it is too big for the small box and needs to be added to a medium size box. The math formula is simple addition but I’m not sure about the actual coding in the background.
Is there a plug-in app or two that would work for this?
AFAIK there are no apps that work with a formula system as you've described almost all have prescriptive systems.
Almost all upsell,bundle, discount,etc apps that add/remove products from the cart are based on products you configure as singular|compound conditions.
Which means for a "volume" based formula you'd basically have to do combinatorics and enter every single combination as a condition.
Each app has it's own interpretation of how to setup such conditions if you have a lot of products this is a lot of manual trial and error.
This can be done as a theme customization similar to a automatically-add-product-to-cart customization.
The size info is stored either a tag or metafield. Tags when it needs to edited often by staff, metafield if not needing to be hand edited often.
If your not using an ajax cart(cart drawer) and have buy buttons disabled then when they visit the /cart page in cart.liquid check the line items if a box exists then if is the proper size box if not zero out the wrong box and redirect to add the proper box to the cart.
Remember to disable the quantity and removal option for the boxes so customers don't get to checkout without them.
If you want me to customize your theme, or make a proof of concept first contact me with details for pricing.