JAUS×Mousa Batarseh Open the store ↗

A project proposal for JAUS · Birmingham, Michigan · September 2026

The dress. In her size. Before the date.

JAUS already owns the answers to the three questions every customer asks — do you have my size, will it fit, will it arrive in time? This is the plan to put them on the first screen, built from the 3,801 dresses in stock on shopjaus.com today.

Products measured
4,872
Dresses in stock
3,801
Labels live
33
Mobile performance
30–32 / 100

00 — Why this project exists

It started with
a job ad.

JAUS is hiring an E-Commerce Operations Manager. I could have sent a résumé. Instead I read the ad closely, then read the store, and built the answer to the question the ad is really asking.

Indeed · posted August 31, 2026

E-Commerce Operations Manager — Women's Fashion

JAUS · Rochester Hills, MI · Full-time · $48.8K–$79.9K

“You'll own the full post-purchase experience from the moment an order is placed through delivery, returns, and the customer conversations along the way.”

  • Fulfillment & dispatch — meet same-day or next-day cutoffs, drive at-risk orders
  • Inventory — accuracy across Shopify, warehouse-to-store transfers
  • Customer experience — response times, returns and exchanges, escalations
  • Improvements — “use recurring customer issues to identify and fix upstream operational problems”
  • Cross-team — restocks with the boutique, fast movers and stock issues to the founder

How I read it

The ad describes the warehouse. Most of its problems start on the website.

Every ticket a customer service team answers, every return that comes back to the warehouse, every “will this arrive by Saturday?” starts with a question the store didn't answer before she bought.

One line in the ad says it outright: fix the problems upstream. For a boutique that sells occasion dresses, upstream is the product page. She needs three answers there: is it in my size, will it fit, will it arrive in time? When the site can't tell her, the cost lands on the operations team as returns, emails, phone calls and missed dates.

So instead of describing how I'd run the warehouse, I rebuilt the part of the store that sends the warehouse its problems, and tested it on JAUS's own catalog.

In the adWhere it starts on shopjaus.com todayWhat I built

Returns & exchanges processed promptly

Fit details are buried in description text. The size guide has no measurements, and returns are store credit only, so wrong sizes turn into returns and upset customers.

Fit Confidence on every product: runs small / true to size, model's height and size, stretch, lining.

Response times and customer conversations

“Do you have it in Medium?” and “Will it come by Saturday?” The site answers neither, so she emails or calls.

Event-Ready Finder: only dresses in her size, each with a real arrives-by date for her event.

Daily cutoffs, at-risk orders

The shipping promise lives on a policy page, not next to the dress.

Cutoff-aware delivery dates on every card and product page, with express and overnight suggested when standard won't make it.

Inventory accuracy across Shopify

Sizes stored as XSMALL / SMALL / MEDIUM; occasion, length and fit live in 22 free-form tags per product.

Structured product data (sizes in stock, occasion, length, fit, color) that filters, search and automations can use.

Warehouse-to-store transfers, the boutique team

The Birmingham boutique never appears in the buying flow.

Hold in Birmingham: when shipping can't make the date, she reserves the dress for try-on at the store.

Fast movers & stock issues to the founder

36% of in-stock dresses are down to one size, and nobody is told.

A live Shopify Flow that alerts when a dress hits its last size and tags it sold out when it's gone.

What follows is the evidence and the build: 01 the review of the store as it is today, 02 the solution, 03 a live demo, 04 the plan, and 05 a working Shopify store running on JAUS's own products.

01 — The review

The catalog is the strength.
The site hides it.

Everything below was measured on September 22–23, 2026 from shopjaus.com's public storefront data, rendered pages and three Lighthouse runs. Every number is reproducible; nothing is estimated.

What JAUS is

A Birmingham boutique that curates Australian labels — Nookie, Runaway The Label, Two Sisters, Elle Zeitoune, Effie Kats, Sasha, SNDYS, Eliya, Misha and its own JAUS label — and ships them from Michigan, same day on weekdays, free over $70. Shopify, Impulse theme 6.0.1, Tenor Sans and Outfit on white.

The positioning is rarer than it looks: the US home of Australian occasion fashion, shipped from Michigan. The operation behind it is real — same-day dispatch, a boutique customers can walk into, a phone that answers sizing questions.

What must be kept

  • The niche and the labels. The curation is the business.
  • Same-day weekday dispatch, free over $70, express and overnight at checkout — faster than most national competitors she is also browsing.
  • A physical boutique twenty minutes from most of Oakland County, open seven days.
  • Product photography and descriptions are consistently good — which is exactly why the data extraction in section 02 works.
  • The blog's instincts: local, SEO-literate titles. It needs a cadence (nothing since February 18, 2026), not a redesign.

What's working

Six things JAUS already does well.

A fair review starts here. Everything in the rebuild keeps these, and most of it is built on top of them.

3,801

dresses in stock, across 33 Australian labels

A depth and a niche few US boutiques can match. The curation is the business, and it shows in the catalog.

Same day

dispatch on weekdays, free over $70

Express and overnight at checkout. That's faster than most national competitors she's also browsing, and it's the promise the Finder puts next to every dress.

7 days

a real boutique at 311 E Maple, open every day

A store she can walk into and a phone that answers sizing questions. Online, that's a try-on option no pure web store has.

100

Lighthouse SEO on home, collection and product pages

The technical SEO foundations are right on all three pages tested. Layout shift is close to zero too (CLS 0.00–0.05), so nothing jumps while a page loads.

4.4

photos per product, on average

4,210 of 4,872 products have three or more images, and the descriptions are consistently written. That quality is what made the data work in section 02 possible.

2,691

descriptions already say “true to size”

The fit knowledge exists: model height, model size, stretch and lining are written for most dresses. It only needs structure, not new content.

The strengths are real. The problem is that the site doesn't let a shopper use them. Here's what gets in the way ↓

Six measured findings · Sep 22–23, 2026

Keep scrolling

Six findings

Scroll →

Each card is one measured fact about the store as it is today, and what it costs the customer.

36%

of in-stock dresses have exactly one size left

1,355 of 3,801. Sixty-three percent have two sizes or fewer. A customer browsing Wedding Guest Dresses (2,904 products) sees every one of them, whether or not it exists in her size — and finds out on the product page, one click at a time.

Source: /products.json variant availability, Sep 22
1,953

dresses shown for “Size: Medium” that have no Medium to buy

The filter app (Globo) returns 3,891 dresses for Medium; 1,953 are sold out in that size. Stock counts only if she also ticks In Stock — a second step most shoppers never take. Colors collapse into eight buckets; there is no occasion, length or fit facet.

Source: filter API response for /collections/dresses, Sep 23
2,809

fit facts written in prose that nothing can use

Descriptions say “Model is 5'8" and wears a size Small — runs true to size — lined with stretch.” “True to size” appears 2,691 times, the model's size 2,809 times, height 2,137 times. None of it is structured, filterable or searchable. The Size Guide is one generic chart for every label, and asks her to contact customer service before ordering.

Source: body_html of 3,931 dresses and gowns
LCP 17s

on the phones the store is sold on

Lighthouse mobile: Home 32, Dresses 31, product page 30. Largest paint 10–19 s; 280–349 requests; 85–116 scripts; 3.3–3.6 MB per page; 19–22 s of main-thread work. Route's widget alone is 743 KB and about a second of blocking on every page.

Source: Lighthouse 12, mobile preset, Sep 23Scores for each page below ↓
1,000

results — for almost anything

“size 8 black dress” → 1,000 results, a sweater and a two-piece set among the first twenty. “nookie ever after” → “1,000 results found”, seven shown. “wedding guest dress” → 1,002 in the title, 1,620 in the count. Search doesn't understand size, and it doesn't trust its own numbers.

Source: /search result pages, Sep 22
116

collections that grew instead of being designed

Duplicates (bardot/bardot-1, two Best Sellers, three Valentine's), empty shells (Cyber Monday, Memorial Day: 0 products), internal promo collections exposed (bf25: 3,820 products). On Sep 22, “New Arrivals” held 4,602 products — 94% of the catalog — so new no longer means anything. The home page has no products, no reviews and no delivery or fit promise above the fold; structured data is duplicated three times on a product page.

Source: /collections.json, rendered home and product pages

The pattern

Her size isn't checked until the last click, and being wrong costs her.

Returns are store credit only, for every reason including sizing; sale items are final; return shipping is hers. A fair boutique policy — but combined with the six findings, the customer least sure of her size is the one the site gives no way to become sure. So she hesitates, or she calls.

Try it

This is what the customer can't see.

Sixty-four in-stock dresses, sampled at random from the live catalog. Pick your size — the dresses that exist in it stay; the rest fade, exactly as they should on the collection page.

Showing all 64 dresses.

Finding 04, up close · Lighthouse mobile, Sep 23

Speed on a phone: LCP 17s, page by page.

The three circles are the Lighthouse Performance scores behind the “LCP 17s” card above. Open any report, or run the test yourself on Google PageSpeed Insights: scores vary by a few points between runs.

32HomeLCP 17.4 s · 280 requests · 85 scriptsTest live ↗Full report
31DressesLCP 18.9 s · 301 requests · 89 scriptsTest live ↗Full report
30ProductLCP 10.0 s · 349 requests · 116 scriptsTest live ↗Full report

Weight, not layout

Layout shift is fine (CLS ≤ 0.05). The cost is scripts: roughly 760 KB of JavaScript per page never runs, and the third parties stack up — Route (743 KB), PayPal (≈395 KB), Stamped, Hextom, Bogos, Avada, Amplitude, TikTok, Pinterest, Mailchimp. The collection page renders 3,104 DOM elements. The rebuild in section 04 sets a budget of one megabyte, sixty requests and a 2.5-second paint.

02 — The Smart Intelligence Solution

JAUS Event-Ready

Every JAUS dress is bought for a date, by someone worried about the size. Event-Ready answers her three questions before the product page — using data the store already owns.

01

Do you have it in my size?

Only dresses in stock in her size are shown — in the Finder, in collections, in search. Sold-out sizes become one-tap back-in-size alerts.

02

Will it fit?

The buried sentence becomes a Fit Confidence panel: true to size · model 5'8" wears S · stretch · lined. Post-purchase, one question — how did it fit? — feeds it back.

03

Will it arrive in time?

“2–4 business days” becomes arrives Thu Sep 25, computed from the real cutoff and carrier days — or hold it in Birmingham when shipping can't make the date.

03 — Live demo · Event-Ready Finder

Pick the occasion, your size and the date.

160 real in-stock dresses from shopjaus.com, with the sizes, prices and fit notes as published on September 22. The arrives-by date is computed live from JAUS's shipping schedule (weekday orders ship same day; standard 2–4 business days; express 2; overnight 1).

Occasion
Your size

Product photography © JAUS and the labels shown; used here for demonstration only. Stock and prices as published on shopjaus.com, Sep 22, 2026. This page is not affiliated with JAUS.

The product page

Same dress, same words — made usable.

Drag the handle. Left is the product page as it reads today; right is the same page with Fit Confidence, per-size stock, arrives-by, the boutique hold and the policy shown before checkout. Every fact on the right already exists in the description on the left — this dress is in stock in all five sizes as of September 22.

Olivia Maxi Dress in chocolate, Runaway The Label

Runaway The Label

Olivia Maxi Dress — Chocolate

$149.00 Free shipping on orders over $70.

Size

XSMALLSMALLMEDIUMLARGEXLARGE

Color

CHOCOLATE

Chic elegance, our Olivia Maxi Dress features a sheer skirt with a side split and ruching around the hips, giving you the perfect balance of sweet and sexy. Model is 5'8" and wears a size SMALL. Runs true to size. Maxi length. Full length sleeves. Side split. Front bodice and skirt are lined with stretch. 86% Polyester & 14% Spandex. Please refer to care label for garment care instructions. Designed in Australia.

Today

Runaway The Label · Bridesmaid · Vacation

Olivia Maxi Dress — Chocolate

$149.00 Free shipping · ships today if ordered by 2 pm ET

Fit True to sizeModel 5'8" wears SStretch yes · linedLength maxi

Your size M — in stock (counts appear when a size is under 3 units)

XSSMLXL
Arrives Thu, Sep 25Standard, free · Express by Wed · Overnight available

Returns for store credit within 30 daysNot final sale

Event-Ready
  1. Occasion tagsStructured, so the Finder and filters can use them.
  2. Fit ConfidenceThe four facts buried in the description, up front.
  3. Her size, in stockReal stock, with a count when it is almost gone.
  4. Arrives-by dateFrom the 2 pm ET cutoff, before she adds to cart.
  5. Try it on in BirminghamHold her size at 311 E Maple Rd for 48 h.
  6. Policy up frontStore credit and final sale, shown before checkout.

How it works

One enrichment job. Eleven metafields. Everything else is Shopify.

SourceShopify products4,872 products · body_html · tags · variants
ParseEnrichment jobNode, nightly + on product/create. Parses fit, model, stretch, lining, fabric, length, occasion, color, sizes in stock
StoreProduct metafieldsnamespace jaus · 11 typed definitions · editable by staff
Event-Ready Findertheme section · 12 KB JS
Fit Confidence + Arrives-byproduct template blocks
Search & Discoverymetafield filters · replaces Globo
Shopify Flowback-in-size · hold · low-size alert · fit question
Staff review list≈1,160 dresses with no parsable fit note

Key technologies

Online Store 2.0 theme · metafield definitions and metaobjects · Search & Discovery (free) · Shopify Flow (free) · Shopify Forms (free) · Storefront API for the Finder feed · a Cloudflare Worker or small Node cron for enrichment · Klaviyo or Shopify Email for alerts · Stamped for the fit question · Lighthouse CI on every theme push.

UX principles

Answer first, browse second — size, date and occasion asked once, remembered. Show the promise, not the policy — a date, not a range. Fit as a badge, not a paragraph. Editorial calm — Tenor Sans and Outfit stay, the canvas stays white, sand and chocolate carry the new sections. Motion that explains — results narrow to her size on screen, images cross-fade to the back view, nothing decorative that costs a frame.

How it's measured

  • Add-to-cart rate for sessions that used the Finder vs. those that didn't
  • Search exits (no click) before and after
  • Share of returns with reason “size”
  • Sizing calls and emails per week
  • Back-in-size captures and their conversion on restock
  • Try-on holds and their in-store conversion
  • Mobile LCP and Performance score

No lift percentage is promised before a baseline exists. Each measure is a leak found in the review, with a direct fix.

The labels on the rail

Nookie✦Runaway The Label✦Two Sisters✦Elle Zeitoune✦Effie Kats✦Sasha✦SNDYS✦Eliya✦Misha✦JAUS✦Nookie✦Runaway The Label✦Two Sisters✦Elle Zeitoune✦Effie Kats✦Sasha✦SNDYS✦Eliya✦Misha✦JAUS✦

04 — Next-step action plan

An agency-grade rebuild
in eight weeks.

Built directly in Shopify. I work in the theme code itself, so features that usually mean another monthly app (filters, fit info, delivery dates, alerts) become part of the theme or run on Shopify's free apps. The store gets faster and the app bill gets smaller.

  1. Week 1

    Discovery and baseline

    Shopify analytics and GA4 export (search terms, collection → product → cart, mobile share), returns-center reasons, a week of session recordings, app inventory with cost per app. Output: a one-page baseline and the performance budget.

    ≤ 1 MB transfer≤ 60 requestsLCP < 2.5 sTBT < 200 ms
  2. Weeks 2–3

    Data layer

    Metafield definitions; enrichment run on the full catalog; staff review of the ≈1,160 “needs fit note” dresses; public tag hygiene; collection consolidation (116 → 95 public: merge four duplicates, delete four empty shells, hide thirteen promo collections, automate New Arrivals and Best Sellers); one Product, one Organization, one WebSite in structured data; alt text generated from title, color and label, then reviewed.

  3. Weeks 3–6

    Theme build

    New OS 2.0 theme from a clean Horizon-family base with the JAUS design system: Tenor Sans and Outfit, white canvas, sand and chocolate accents, 8-point spacing, four-column grid collapsing to two on phones. Sections: Finder, Fit Confidence, Arrives-by, Try-on hold, back-in-size, policy badges, occasion landing pages, an editorial home page with live products and reviews above the fold. Motion: view transitions collection → product, image cross-fades, filter animations, scroll-driven reveals — CSS-driven, reduced-motion respected. Assets: WebP/AVIF with responsive srcset, fonts self-hosted and preloaded, one critical CSS file, JavaScript split per section and loaded on visibility.

  4. Weeks 4–6

    App and script diet

    Route deferred to the cart or replaced by Shopify's own protection; PayPal SDK on checkout only; Stamped rendered server-side; Globo replaced by Search & Discovery; Amplitude, Bogos, Avada and Hextom kept only where a measured use exists; pixels moved to Shopify Customer Events so they run off the main thread. Target: under 25 scripts on the product page.

  5. Weeks 6–7

    Automations

    Flow: back-in-size alert, try-on hold notification to staff, low-size alert to the buyer when a style is down to one size, the fit question in the review request, new-product enrichment. Email templates for the alert and the hold confirmation.

  6. Week 8

    QA, launch, measurement

    Device lab on the phones the store's customers actually use, WCAG 2.2 AA pass, Lighthouse CI gate on every theme push, a Tuesday-morning launch, a 30-day read against the baseline, then a monthly iteration cadence.

Team and budget shape

One lead (design and front-end), one Shopify developer, and one merchandising day a week from JAUS staff for the fit-note review and collection decisions. Free Shopify apps and the apps already paid for; nothing new to subscribe to.

05 — Deliverable · the Shopify store

The store is built.
Open it.

Not a mockup. A working Shopify store running on JAUS's own catalog, with everything in this proposal installed: the Finder, Fit Confidence, metafield filters and a live Flow.

Live on Shopify

kaus.mousabatarseh.com

Store password hire-me!

Open the store ↗
  1. Home page: pick an occasion, your size and your event date. Only dresses in stock in that size appear, each with a real arrives-by date.
  2. Any product page: Fit Confidence under the price. Fit note, model height and size, sizes in stock and delivery dates, plus the Birmingham hold.
  3. Any collection: filter by sizes in stock, occasion, length, fit, color and brand, all built from the new metafields.
kaus.mousabatarseh.com The dress.
In your size.
Before the date.

What I built in the store

  • 618 products imported with photos, sizes, prices and stock
  • A jaus metafield set: fit, model height and size, stretch, lining, fabric, length, occasion, color, sizes in stock
  • 11 collections, including 8 occasion collections
  • Custom theme on Horizon: an editorial hero, the Event-Ready Finder section and a Fit Confidence product block
  • Search & Discovery with 8 filters, 5 of them from metafields
  • Shopify Flow: a live last-size alert that tags sold-out dresses

To move this to shopjaus.com

  1. Create the metafield definitions on the live store: run the GraphQL file, or add them in Settings → Custom data.
  2. Import product-metafields.csv with Matrixify, which splits list fields correctly.
  3. Upload the theme sections (Finder and Fit Confidence), or move to the Horizon build.
  4. Turn on Search & Discovery filters and retire the Globo filter app.
  5. Load the Flows.
  6. Run Lighthouse and compare against the numbers in section 01.

Give me collaborator access and I'll run these steps on the live store.