Project portfolio Browse selected work

Shopify Plus: up to US$4,800 development credit

Smart home and robotic cleaning

Roborock Australia

The Australian Roborock storefront is not about showing more robots; it uses ranges, cleaning scenarios and local transaction information to help customers choose between closely related high-value models.

Visit the live project
Roborock Qrevo 2 Pro hero visual on the Australian store
Official public brand visual

Core implementation review

Three storefront journeys from model choice to purchase

Selling high-consideration cleaning robots is not about listing every technology. Model choice, media, price, availability and purchase controls must stay in one state system. The review below focuses on three frontend journeys that directly affect selection and checkout.

Project context

Define how customers choose before defining the storefront

Buying decision

Shoppers first choose robot vacuum or wet-dry cleaner, then compare Saros, Qrevo and F25 ranges against floor plan, carpet, pets, mopping and automated maintenance. Price, dock capability, consumables, reviews and support complete the decision.

Delivery boundary

Shopify storefront frontend design and implementation; homepage and product content modules; product hierarchy, navigation and responsive adaptation; theme experience optimization.

01Product selection

Make model and variant choice drive the whole product page

After a colour, kit or model change, gallery, price, availability and purchase controls must update together rather than exposing conflicting states.

  1. 01Read product and URL options
  2. 02Resolve one variant state
  3. 03Sync media, price and stock
  4. 04Submit the correct variant

Implementation

  • Product JSON and URL options are parsed once to resolve the single active variant ID.
  • Gallery, price, availability and product form subscribe to that state rather than recalculating selection independently.
  • Shopify Ajax Cart receives the same variant ID, keeping displayed configuration and cart identity aligned.

Deployment and acceptance

  • Media, buy box and specifications remain separate Online Store 2.0 sections while consuming one state source.
  • Theme-editor section reloads remount only the affected module, avoiding duplicate listeners.
  • The native Shopify product form remains available as the no-script and request-failure fallback.
ResultWhat changes after implementation
  • Option changes update media, price, availability and cart identity without a page reload.
  • Qrevo, Saros and F25 releases can reuse the component system; launches mainly maintain product data and media.
View script and Shopify API evidence
product-variant-provider.jsproduct-variant-listener.jsproduct-form.jsproduct-to-cart.jsproduct-gallery-slider.jsproduct-gallery-thumbnails.jsproduct-gallery-image-zoomer.jsShopify Ajax Cart API
02Purchase action

Keep a clear buying action available on a long technical PDP

A cleaning-robot PDP explains many features. Once shoppers leave the first screen, they still need the current option, price and next action in view.

  1. 01Detect the buy box leaving view
  2. 02Show active model and price
  3. 03Submit through Ajax Cart
  4. 04Return drawer state or error

Implementation

  • The sticky purchase surface consumes the same variant state and keeps only model, price and the primary action.
  • Shopify Ajax Cart submits the request while repeated actions are locked and success, stock and network states are handled explicitly.
  • Returned cart JSON becomes the source for drawer, quantity and line-item state.

Deployment and acceptance

  • The sticky surface appears only after the original buy box leaves view and exits when that area returns.
  • Mobile spacing respects browser safe areas and avoids covering content, support controls or system gestures.
  • Quantity changes and removal continue through Cart Ajax and return final server state to every purchase surface.
ResultWhat changes after implementation
  • Shoppers can confirm the active configuration and add it from any point in the product story.
  • Success, stock and network feedback remain at the action instead of silently failing or forcing a page transition.
View script and Shopify API evidence
sticky-add-to-cart.jsproduct-to-cart.jscart-provider.jscart-drawer.jsCart Ajax: addCart Ajax: changeCart Ajax: update
03Product discovery

Connect search, model comparison and accessory recommendations

Search, comparison and consumable discovery need one product vocabulary so different entry points never give contradictory answers.

  1. 01Enter the correct range
  2. 02Compare shared specifications
  3. 03Confirm the host product
  4. 04Discover compatible consumables

Implementation

  • Predictive Search returns product and collection suggestions while the shopper types, narrowing the range first.
  • The comparison module retains selected models and aligns one shared set of dock, mopping and obstacle specifications.
  • PDP and cart contexts call Product Recommendations for compatible consumables and related products.

Deployment and acceptance

  • Range, device type, core specifications and compatible consumables become shared fields used by all three journeys.
  • Comparison has a model limit and horizontal mobile reading; search includes loading, no-result and keyboard states.
  • Recommendations load asynchronously and never block product content, price or purchase controls.
ResultWhat changes after implementation
  • Search, aligned comparison and accessory discovery form one continuous selection journey.
  • New releases enter all three surfaces by following the shared field model, reducing duplicated maintenance.
View script and Shopify API evidence
predictive-search.jsShopify Predictive Search APIcompare-products.jsproduct-recommendations.jsShopify Product Recommendations API

Operational handoff

The operating team can continue after launch

Catalog and content
  • The catalog is maintained by robot, wet-dry vacuum and product range, covering Saros, Qrevo and F25 lines.
  • Dock, obstacle, mopping, colour and bundle fields are shared; filters and mop pads connect through compatibility data.
  • Comparison reads the same specification model, so new releases do not require copied comparison tables.
Market operations
  • The Australian storefront uses en-AU and local transaction language, with market-specific warranty, consumable and delivery content.
  • Localization controls provide region and language entry without duplicating the core purchase journey.
  • Range navigation, promotion bars and product-content modules can be released independently for products and policy changes.
Research notesPublic sources and verification boundary

Public research sources

Content verification

Industry, product and observable feature notes are verified against the brand site. Apps, admin configuration and commercial data that cannot be confirmed from the storefront are not inferred. WESWOO scope is stated only from project records and client authorization.

Public information last reviewed: 2026-08-20

Your next move

Turn your storefront into infrastructure for sustainable growth

Discuss your project