← All case studies
Web App + IntegrationsDeliveredMaintained

360 Athletics Automations Dashboard

We built 360 Athletics an automations dashboard that runs every Shopify store from one place. Syncing products, pricing, and inventory, and bridges their legacy Adagio ERP with automated EDI order delivery.

360 Athletics Automations Dashboard — hero
Client
360 Athletics
Industry
Sporting Goods — Distribution & Retail
Platforms
Web
Our Role
Web app, integrations, and automation
Engagement
Custom dashboard + ERP integration
Timeline
Ongoing engagement
The Challenge

The problem we set out to solve

360 Athletics distributes and retails sporting goods across multiple Shopify stores served by a single warehouse. Products are split unevenly across those stores. Some sell on every site, some on two, some on one, so every discontinuation, launch, price change, and inventory update had to be made store by store, by hand. On top of that, their ERP (Adagio) is a legacy system with no API and no native way to connect to modern, cloud-based storefronts, so orders couldn't flow automatically to the system that fulfils them.

Before

  • Product, pricing, and inventory updates were made manually, store by store.
  • Discontinuations and new launches were tedious and error-prone across sites.
  • No single source of truth for what was correct across stores.
  • Adagio has no API, so orders had to be re-keyed into the ERP by hand.

The Objective

Give 360 Athletics one source of truth for every store, keeping products, pricing, and inventory correct everywhere with minimal manual effort and an automated path to get Shopify orders into a legacy ERP that was never built to connect to the cloud.

What We Built

The solution, part by part

Multi-store product dashboard
The control center

Every product, every store in one dashboard

The dashboard puts every product in one place and lets the team activate or deactivate any product on any store with a single toggle. Pricing and inventory sync automatically with granular overrides that can lock a specific product, on a specific store or everywhere, from receiving price or inventory updates.

  • Activate or deactivate products per store
  • Automated pricing and inventory sync
  • Per-store and global sync overrides
  • One source of truth across every storefront
Order-to-EDI pipeline
The hard part

Bridging a legacy ERP with no API

Adagio has no API and no native path to the cloud. Rather than force a costly migration, we built a bridge: the dashboard captures every order from every store, converts it into a structured EDI document, and delivers it to Adagio over SFTP. Orders flow straight into the system that picks, packs, and ships them with no one re-keying a thing. Connecting legacy systems to a modern stack is one of the things we do best.

  • Captures orders from every Shopify store
  • Converts orders into structured EDI documents
  • Delivers to Adagio over SFTP — no API required
  • Zero manual order entry
Shopify contact-form section
Beyond the warehouse

Customer forms that route themselves

We also built a contact-form system into the dashboard. A Shopify theme section, written in Liquid, lets the team drop a customisable form onto any page of any store and connect it back to the dashboard. Every submission is stored for recall and automatically emailed to the right team, with notification recipients managed from the dashboard.

  • Liquid theme section for forms on any page
  • Submissions stored for recall
  • Auto-routed to the correct team by email
  • Notification recipients managed in the dashboard
The Stack — and Why

The technology, and why we chose it

Every tool here earned its place. The point isn't the logos — it's the reasoning behind them.

Next.js

Runs the dashboard and the automation engine behind product sync and order processing.

Shopify

Reads and writes product, price, and inventory across every connected store.

EDIEDI

Turns Shopify orders into the structured documents a legacy ERP can import.

SFTPSFTP

The transport that delivers EDI documents into Adagio — no API required.

ERPAdagio ERP

The existing ERP stays in place; we integrate with it instead of replacing it.

LiquidShopify Liquid

A native, merchant-editable contact-form section embedded in each store's theme.

Prisma

A type-safe source-of-truth data layer governing every connected store.

PostgreSQL

Holds the canonical product, pricing, and order data behind the dashboard.

S3AWS S3

Stores product assets, form attachments, and EDI document archives.

TypeScript

Type safety across the dashboard, the Shopify integration, and the EDI pipeline.

Tailwind CSS

A fast, consistent dashboard UI.

The Outcome

What changed for the business

1
Source of truth for every store
~90%
Less time on cross-store upkeep
0
Manual ERP order entry

360 Athletics now runs every storefront from one dashboard. Products are managed once and switched on or off per store; pricing and inventory sync automatically with granular overrides; and every order is captured, converted to EDI, and delivered to Adagio over SFTP with no re-keying. The tedious, error-prone parts of running multiple stores are simply gone.

Product changes were made store by store, by hand.

Every product is managed once, for every store, from one dashboard.

Orders were re-keyed into Adagio manually.

Orders flow into Adagio automatically as structured EDI.

No single place held the correct pricing and inventory.

The dashboard is the trusted source of truth for every storefront.

The Bottom Line
A lesser fix would have been a costly ERP migration. Instead, we met 360 Athletics where they were, bridging a legacy system to a modern stack so orders just flow. The result protects margin, removes hours of manual work, and proves a point we care about: the best solution is the one that fits the business, not the one that's easiest to sell.

Let's build something that performs.

Tell us about your project and we'll map out a clear path to ship it.

Contact Us