Milestones
Six Months, Four Phases
Discovery ran through months one and two, design overlapped from month two to four, implementation from month three to six, and post-launch stabilization closed it out. Design and build ran concurrently rather than sequentially — which is how a migration this complex fits into six months at all.
Every Custom Builder Preserved
Custom trays, build-your-own box, custom trail mix, custom snack box, and gift drop were all rebuilt on Shopify Plus. These are the flows customers know Nuts.com for, and none of them exist as a standard SKU until a customer creates one.
Multi-Ship Checkout Rebuilt
Nuts.com’s ability to send one order to many recipients at many addresses — with per-line-item shipping method — was carried forward, along with a bulk order uploader that lets the customer service team place large orders from a CSV.
Legacy Systems Integrated, Not Replaced
Rather than force a rip-and-replace, Anatta integrated Shopify Plus with Nuts.com’s existing custom OMS, custom WMS, and custom shipping calculator, bridging the calculator into Shopify checkout.
Custom Code Cut by 85%
Everything that could move to native Shopify, Shopify Functions, or a best-in-class partner did. Recharge took subscriptions, Algolia took search, Dynamic Yield took personalization, Gladly took customer service. What stayed custom stayed custom because it genuinely had to.
A Component Library, Not Just a Redesign
The design work produced a full landing-page component library alongside the redesigned homepage, PLP, PDP, cart, checkout, and account pages — so the marketing team could build pages after launch without engineering.
The Challenge
The Platform That Built the Business Became the Ceiling on It
Nuts.com’s homegrown system did exactly what it was designed to do — for the business Nuts.com was fifteen years ago.
The complexity had a specific shape, and it’s worth being precise about it, because “custom platform” undersells the problem:
- Five distinct custom product builders. Trays, boxes, trail mixes, snack boxes, and gift drops each let a customer assemble something that isn’t a SKU. Each had its own logic, its own UI, and its own path into fulfillment.
- Multi-ship as a first-class feature. Corporate gifting meant one order routinely fanned out to dozens of recipients at dozens of addresses, each line item carrying its own address and shipping method.
- A shipping calculator built for perishables. Freshness and transit time drove rate logic that no off-the-shelf rate engine replicated.
- A custom OMS and custom WMS. The systems running fulfillment were in-house and not going anywhere.
- Subscriptions built from scratch. Auto-delivery had grown into a meaningful revenue line on entirely bespoke infrastructure, including stored payment tokens.
All of it lived in code Nuts.com owned and maintained. That meant marketing and merchandising couldn’t move without engineering, maintenance consumed the roadmap, costs only compounded, and the storefront experience aged in place because changing it was expensive.
The strategic question was the one every brand on a homegrown platform eventually faces: can a commercial platform actually handle this? For Nuts.com the answer had to be specific, not theoretical. A migration that simplified the technology but broke the tray builder, or the multi-ship checkout, or the subscriber base, would have been a step backward.
The Solution
Anatta Untangles a Homegrown Stack — Without Losing What Makes Nuts.com Nuts.com
Anatta ran the project in four phases across six months, with design and implementation deliberately overlapped.
Phase 1 — Discovery (Months 1–2)
Discovery started with current-state walkthroughs and future-state requirements gathering across three tracks: business and functionality, design and branding, and technical. Anatta’s business analyst, solutions architect, project manager, and creative director worked alongside Nuts.com’s product manager, engineering SMEs, and brand and UX leads.
Four things came out of that phase, and they set up everything after it:
- A platform architecture blueprint confirming how the critical requirements — custom tray, gift drop, multi-ship, subscriptions — would work on Shopify Plus.
- Integration scoping covering the custom OMS, custom WMS, subscriptions, search, and the marketing stack.
- A finalized Shopify app stack, decided deliberately rather than accumulated.
- A product taxonomy and metafield/metaobject plan — the unglamorous decision that determines whether a catalog this variant-heavy is manageable afterward.
That last one matters more than it sounds. Modeling the catalog properly in Shopify’s data structures is what let so much bespoke merchandising logic disappear.
Phase 2 — Design (Months 2–4)
Design worked from requirements validated in discovery rather than running ahead of them — wireframes first, then high-fidelity.
The scope was the full path to purchase: global header and footer, homepage, PLP, PDP, cart, checkout, and account pages, plus dedicated design work for each of the five custom builders. The largest single design investment wasn’t any one page — it was a landing-page component library, built so the marketing team could assemble new pages themselves after launch.
Phase 3 — Implementation (Months 3–6)
Implementation overlapped design by a month and carried the bulk of the work: third-party coordination, development, QA and remediation, user acceptance testing, and content staging.
Rebuilding the signature experiences. The five builders were rebuilt on Shopify Plus. Gift drop was reconstructed as a variation of the tray builder wired into Shopify Flow, so a corporate gifting order triggers the right downstream messaging automatically. Multi-ship moved to a dedicated app, and the custom shipping calculator was bridged into Shopify checkout rather than rewritten. Promotional and cart logic that used to be bespoke moved to Shopify Functions — discounts and cart transform.
Consolidating the stack. Recharge took subscriptions. Algolia took search and discovery across a catalog where filtering by roast, salt level, diet, and packaging is how customers actually shop. Dynamic Yield took personalization. Gladly took customer service, integrated back into the commerce platform so agents work with full order context. This is where most of the 85% went.
Integrating rather than replacing. Nuts.com’s custom OMS and custom WMS stayed. Anatta built the integrations into Shopify Plus, working from Nuts.com’s own integration guidelines, and ran end-to-end testing across OMS, WMS, and third-party fulfillment with Nuts.com’s engineering SMEs.
Migrating the data. Product, customer, and order data all moved. Subscription data was the delicate one — Shopify’s professional services team handled payment token migration so active subscribers moved without re-entering payment details or losing their delivery cadence.
Keeping customer service whole. The order uploader was rebuilt so the CS team can still place bulk orders from a CSV with per-line-item addresses and shipping methods — an unglamorous internal tool that would have been badly missed on day one.