Case study

A custom Shopify app connecting a $38M-funded hospitality SaaS to Salesforce and HubSpot.

me&u runs QR-code ordering and payments for 6,000+ hospitality venues globally and processes $2B+ in annual dining transactions. They use Shopify as a commerce layer for venue signage and hardware. Muscled built the embedded Shopify app that pipes new orders into Salesforce, handles per-line-item duplicate prevention, runs a separate reorder pipeline through Zapier, and manages multi-format design file intake through Cloudinary.

By the numbers

The numbers speak for themselves

Vault-backed numbers. No presentation-grade estimates. Each one is reconcilable to the founder's own reporting.

Shopify-to-Salesforce order automation
100%

New Shopify orders create Salesforce Cases and Opportunities automatically via webhook, with per-line-item duplicate prevention via a custom Line_Item_Id__c field.

SRC: Muscled-clients-repo/meandu codebase, 2026-05-16

Dual order-type tracking
2 pipelines

New orders (Print_Type__c = 'New', Created_From_Shopify__c = true) and reorders (Print_Type__c = 'Reprint', Created_From_Shopify__c = false) cleanly separated in Salesforce via two webhook endpoints.

SRC: Muscled-clients-repo/meandu codebase, 2026-05-16

Commits across a multi-system integration build
100+

100+ commits, 27 merged PRs, 8 branches across a 14.5-month build connecting Shopify, Salesforce, HubSpot, Cloudinary, Zapier, and Hulk Form Builder.

SRC: GitHub repo history, 2026-05-16

me&u monthly revenue

Post-rebuild growth
Desktop & Mobile

The full homepage, shown two ways

Two side-by-side screenshots of the long homepage. Hover the desktop card to slowly scroll the screenshot top to bottom, so visitors see the entire page without leaving this one.

  • Desktop · full homepage after rebuild
    6,000+
    Venues on the platform Muscled integrates with (676 mo)
    /mo at peak
  • Mobile-first after rebuild
    Mobile traffic share
    676 mo
    Engagement length
The work

How the engagement unfolded

  1. Initial app build — Shopify + Salesforce + HubSpot

    Mar 2025 — Jul 2025

    Bootstrapped a Remix-based embedded Shopify app on Node/Express with Polaris UI, Prisma ORM, and Heroku deployment. Wired up jsforce for Salesforce, @hubspot/api-client for HubSpot, Cloudinary for file storage, and Socket.io for real-time progress. The app runs on a dedicated Shopify dev store and embeds in the merchant admin.

    • Remix
    • Polaris
    • Prisma
    • Salesforce (jsforce)
    • HubSpot
    • Heroku Docker
  2. Salesforce field mapping + per-line-item duplicate prevention

    Jul 2025 — Dec 2025

    Majority of PR work centered on Salesforce property mapping: correct signage-type, design-type, table numbers, color codes, logo file URLs, delivery address, region, and currency mappings from Shopify order line items to Salesforce Case fields. Added a custom Line_Item_Id__c field on the Case object so multi-product orders each generate their own trackable Case without false-positive duplicate blocking.

    • Salesforce schema
    • Line_Item_Id__c
    • Opportunity + Case
    • property-maping branch
    • 27 PRs
  3. Reorder / reprint pipeline via Zapier + Hulk Form Builder

    Jan 2026 — Apr 2026

    Built a separate webhook endpoint (/api/reorders/hulk-webhook) for reorder submissions coming from Hulk Form Builder via Zapier. Accepts account_id or asset_id, resolves AccountId via Salesforce Asset lookup, and creates a Case with Print_Type__c = 'Reprint' linked to Account (not Opportunity). Keeps new-order and reorder records cleanly separated in Salesforce.

    • Reorder pipeline
    • Hulk Form Builder
    • Zapier
    • Salesforce Asset lookup
    • Print_Type__c = Reprint
  4. Cloudinary multi-format pipeline + security cleanup

    Apr 2026 — May 2026

    Hardened the Cloudinary upload endpoint to handle professional print formats — PDF, AI, SVG, EPS, HEIC, and standard images — needed for hospitality venue signage design assets. PDFs route through Cloudinary with resource_type: image for proper ingestion. The last commit (2026-05-16) removed an obfuscated JS payload found in build config files; the repo was cleaned and re-secured.

    • Cloudinary
    • PDF / AI / SVG / EPS / HEIC
    • Build-config cleanup
    • Repo security pass
Project overview

What we built

me&u is an Australian hospitality technology company headquartered in Surry Hills, NSW. They provide QR-code mobile ordering, payments, and venue CRM tools to restaurants, bars, pubs, and entertainment venues. The platform processes $2B+ in annual dining transactions across 6,000+ venues globally, with 13M+ users and operations in Australia, the UK, and the USA. They merged with their main competitor Mr Yum in November 2023; the combined company has raised $38M+ across two rounds.

me&u is not a Shopify merchant in the traditional sense — they use Shopify as a commerce layer to sell physical products (venue signage, hardware) to their hospitality customers. Their CRM of record is Salesforce. Muscled built the embedded Shopify app that connects the two systems, with a secondary HubSpot integration and a multi-format Cloudinary file pipeline for venue design assets.

In their own words

(Testimonial TBD. Vault primary contact and permission_to_publish are open.)

me&u is an Australian hospitality technology company headquartered in Surry Hills, NSW. They provide QR-code mobile ordering, payments, and venue CRM tools to restaurants, bars, pubs, and entertainment venues. Scale signals: 6,000+ venues globally, 13M+ users, $2B+ annual dining transactions, $38M+ raised across two rounds, 51-200 employees, operations in Australia, UK, and USA. Merged with Mr Yum in November 2023; combined company retained the me&u name.

me&u teamHospitality SaaS, Surry Hills, Australia
The challenge

What was holding them back?

Shopify orders weren't reaching Salesforce automatically, multi-product orders broke duplicate checks, reorders mixed with new orders in reporting, and venue design files arrived in professional print formats that the standard image pipeline couldn't handle. The app had to solve all four cleanly inside one embedded Shopify admin experience.

  1. 01

    Shopify orders weren't reaching Salesforce automatically

    me&u uses Shopify as a commerce layer to sell venue signage and hardware, but their CRM of record is Salesforce. Without an automated pipeline, every order required someone to manually create a Case and an Opportunity in Salesforce, copying line-item data by hand.

  2. 02

    Multi-product orders blocked by per-Case duplicate checks

    A single Shopify order can contain multiple signage products, each needing its own trackable Salesforce Case. Standard Salesforce duplicate-prevention rules treated multi-line-item orders as duplicates, blocking legitimate Cases from being created.

  3. 03

    Reorders mixed with new orders in Salesforce

    Reorder / reprint requests for existing venue signage came in through a Hulk Form Builder form on the storefront, but routed into the same Salesforce records as new orders. The ops team had no clean way to tell first-time orders apart from reprints in reporting.

  4. 04

    Venue design assets arrive in professional print formats

    Hospitality venues send logo and design files in Adobe Illustrator (AI), EPS, PDF, SVG, and HEIC formats, not standard web images. The file pipeline had to accept all of these, route them through Cloudinary correctly (PDFs require resource_type: image), and surface them to the print-fulfillment team without manual conversion.

Before / After

Before and after

Before

After

Funnel collapse: we removed a full page from the path to purchase.

Solutions

What we built to fix it

Each fix maps to a specific lift in the funnel.

  • Shopify order-created webhook → Salesforce Opportunity + Case pipeline

    The Shopify order-created webhook fires the app, which creates a Salesforce Opportunity (with order value, description) and one Case per line item linked to that Opportunity. Line items are mapped to Salesforce Case fields covering signage type, design type, table numbers, color codes, logo file URLs, delivery address, region, and currency.

  • Per-line-item duplicate prevention via custom Salesforce field

    Added a custom Line_Item_Id__c field on the Salesforce Case object. Each Case is keyed by Shopify line item ID, so multi-product orders each generate their own trackable Case without false-positive duplicate blocking. Standard order-level duplicate rules still protect against true re-firing of the same order webhook.

  • Separate reorder pipeline via Zapier + Hulk Form Builder

    Reorder requests come in through Hulk Form Builder, route through Zapier to a dedicated endpoint (/api/reorders/hulk-webhook), accept account_id or asset_id, resolve AccountId via Salesforce Asset lookup, and create a Case with Print_Type__c = 'Reprint' and Created_From_Shopify__c = false. New-order and reorder records stay cleanly separated.

  • Cloudinary multi-format file pipeline

    A custom upload endpoint accepts PDF, AI, SVG, EPS, HEIC, and standard image formats. PDF and vector formats route through Cloudinary with resource_type: image so they ingest correctly and produce usable derivatives. Used for venue logo and design preview file storage feeding both the Salesforce Case file URLs and the print-fulfillment workflow.

The stack

What it was built on

Tools picked for the job, not for the resume.

  • Remix (React)
    App framework
  • Node.js + Express
    Backend runtime
  • Shopify Polaris
    Admin UI
  • Prisma ORM
    Database / ORM
  • Salesforce (jsforce)
    CRM integration
  • HubSpot API client
    CRM integration
  • Cloudinary
    File storage / media
  • Heroku (Docker)
    Deployment
How we engineer performance

Speed is a revenue lever, not a vanity score

Every Muscled build is engineered to the same standard. The numbers below are the published industry benchmarks we design against, not stand-ins for any one client's figures.

conversions per 0.1s of load-time improvement on ecommerce sites.

+8.4%

SRC: DELOITTE / GOOGLE

conversion rate for stores loading under 2s, vs the ~1.4% Shopify average.

2.4%

SRC: SHOPIFY PERFORMANCE DATA

conversion lift per 1s of mobile load-time gained, where 90% of traffic lives.

+10-20%

SRC: SHOPIFY MOBILE BENCHMARKS

// OUR PERFORMANCE GATE we don't ship unless field Core Web Vitals hold: LCP ≤ 2.5s · INP ≤ 200ms · CLS < 0.1 (p75, mobile)

Capability surface

The techniques behind a build like this

Custom Shopify app development

  • Remix (React)
  • Node.js + Express
  • @shopify/shopify-app-remix
  • Prisma ORM
  • Shopify Polaris
  • Embedded admin app
  • Heroku Docker deploy
  • Socket.io realtime
  • Multer file upload
  • Tailwind CSS
  • joi validation
  • axios
  • cookie-parser
  • cors

Salesforce + HubSpot integration

  • jsforce (Salesforce)
  • Opportunity + Case automation
  • Line_Item_Id__c duplicate prevention
  • Salesforce Asset lookup
  • Print_Type__c = New vs Reprint
  • Created_From_Shopify__c flag
  • Signage / design field mapping
  • HubSpot deals + tickets routes
  • Account-level vs Opportunity-level routing

Multi-format file pipeline

  • Cloudinary upload endpoint
  • PDF / AI / SVG / EPS / HEIC support
  • resource_type: image PDF handling
  • Multer multipart handling
  • Venue logo intake
  • Design preview file storage
  • Print-fulfillment hand-off
  • Standard image format support

Webhook + workflow orchestration

  • Shopify order-created webhook
  • Hulk Form Builder + Zapier
  • Dual-pipeline architecture
  • /api/reorders/hulk-webhook endpoint
  • account_id / asset_id input handling
  • Shopify scopes: orders / products / inventory / publications
  • Shopify API 2025-01
  • 8 branches
  • 27 merged PRs
  • 100+ commits
  • Build-config security cleanup
Storefronts

One build. Multiple markets.

Same theme code across markets, with localized pricing, currency, and region-specific content routed automatically.

  • Global (Australia / UK / USA)

    me&u corporate site — hospitality SaaS
    • Custom Shopify app
    • Embedded admin (Polaris)
    • Heroku-deployed (Docker)
    • Salesforce + HubSpot
    • Cloudinary file pipeline
    • Zapier + Hulk Form Builder
    • Shopify API 2025-01
    Global (Australia / UK / USA) screenshot
    Served from the same Shopify Markets build. Dedicated capture not included.
Full build · sections

Every section, built mobile-first

The full build is many numbered sections, each designed for the phone first. The rail below shows a sample. Scroll horizontally to step through.

The results

What the work delivered

Each number is reconcilable to the founder's own reporting.

Shopify-to-Salesforce order automation
100%

New Shopify orders create Salesforce Cases and Opportunities automatically via webhook, with per-line-item duplicate prevention via a custom Line_Item_Id__c field.

SRC: Muscled-clients-repo/meandu codebase, 2026-05-16

Dual order-type tracking
2 pipelines

New orders (Print_Type__c = 'New', Created_From_Shopify__c = true) and reorders (Print_Type__c = 'Reprint', Created_From_Shopify__c = false) cleanly separated in Salesforce via two webhook endpoints.

SRC: Muscled-clients-repo/meandu codebase, 2026-05-16

Commits across a multi-system integration build
100+

100+ commits, 27 merged PRs, 8 branches across a 14.5-month build connecting Shopify, Salesforce, HubSpot, Cloudinary, Zapier, and Hulk Form Builder.

SRC: GitHub repo history, 2026-05-16

Ready to ship yours?

Let's talk about what you want to ship.

A 14.5-month custom Shopify app build for a $38M-funded global hospitality SaaS. 100+ commits, 27 merged PRs, 8 branches, four integrated systems (Salesforce, HubSpot, Cloudinary, Zapier + Hulk Form Builder). The proof point that Muscled delivers production engineering for funded enterprise SaaS clients who use Shopify as infrastructure, not just for DTC brand storefronts.

30 minutes. No deck.