Skip to content

E-commerce · Vue & Laravel

Global Shopaholic

A US retail storefront taken from spec to deployment, solo.

Product
Global Shopaholics — US package forwarding and assisted purchase
Role
Full-stack developer, Global Shopaholics LLC
Scope
Bootstrap Vue 3 storefront on Laravel 8, payment gateways, order processing
Global Shopaholic case study cover

The tension

The customer is not buying a product. They are buying a US address.

What was happening

Shoppers outside the US wanted American retail, and American retail would not ship to them. The service in between had to be explained before it could be sold.

What changed the brief

The client had no technical staff, so the specification arrived as conversations rather than documents and the build had to absorb changes without a rewrite each time.

Success looked like

A visitor understanding sign up, purchase, ship well enough to claim a free US address without asking anyone.

The constraint

One storefront serving sixteen languages, where price, courier and tax treatment all vary by destination.

The product story

Three steps, or nobody signs up.

The promise

Say what the service is, immediately.

The landing view leads with the offer — buy from US stores, ship worldwide — and puts claiming a free US address in front of everything else.

Global Shopaholics — landing view
One offer, one action.The primary CTA is the address, because that is the account.

Narrow first

Most of this traffic is on a phone.

The storefront reflows to a single column with the same content order, so the explanation survives the width it is most often read at.

Global Shopaholics — mobile view
The same three steps, stacked.Bootstrap Vue components reflow rather than switching to a separate template.

The mechanism

Sign up, purchase, ship.

The numbered walk sits above the benefits, because the benefits only mean anything once the mechanism is understood.

Global Shopaholics — full page
Assisted purchase, consolidation, cashback.Each benefit attaches to a step rather than floating as a feature list.

Walkthrough

The storefront in motion

Recorded from the live site.

The trust test

The happy path is only half the product.

A courier is unavailable to a destination

Shipping options resolve per destination at request time, so an unavailable courier is absent from the choice rather than failing after the customer has committed to it.

The payment gateway declines

Order processing treats payment as a separate state from order creation, so a decline leaves a recoverable order rather than a lost basket.

The visitor does not read English

Language is selected in the header and carried server-side, so the explanation — the part that has to land — is never the part left untranslated.

The decisions

Three moves carried the story.

Lead with the mechanism, not the catalogue

There is no catalogue — the inventory is every US store. So the page sells the process, and the numbered three-step walk is the primary content rather than a support section.

Put localisation in the data, not the templates

Sixteen languages, plus per-destination couriers and tax treatment, resolve from the Laravel backend so a new market is a data change rather than a frontend branch.

Ship against conversations

With no technical counterpart on the client side, each release was demonstrated rather than specified, and the component structure was kept loose enough to absorb the resulting changes.

What I would test next

The three-step walk was written for a first-time visitor. Whether returning customers still need it above the fold is worth measuring.