SHADY.
- Industry
- E-Commerce
- Year
- 2026
- Live
- Visit site ↗
01The brief
SHADY's old WooCommerce store had five pages, no returns, privacy or shipping policy, and a trust strip full of promises with nothing behind them. When its hosting lapsed and the site went offline, SHADY needed a new store, fast, that looked like the brand and could actually be trusted with an order.
02The work
A store that looks like the brand
SHADY sells sunglasses through campaign films and collab shoots, so the site opens like one. The homepage leads with the brand film and its line, SEE DIFFERENT. LIVE SHADY., in SHADY's own Montserrat and Flameburst orange. Under it sits a shop that is built to be used: every frame has its own page, every collection its own banner, and the six collab shoots each get a story page with their film, the credits and a gallery of the shoot.
Shopping that forgives mistakes
Search is instant and forgives spelling, so typing "ambar" still finds every amber frame by the third letter. Any card can go straight into the bag without leaving the page. Filters show their counts as you tap. The sale page builds itself from Shopify's prices, and the bag states the shipping up front: free in Malta, €15 to the rest of the EU.
Headless Shopify where it counts
The catalogue, stock and checkout run on Shopify, headless. The website talks to Shopify through its Storefront API, and the checkout lives on SHADY's own domain at checkout.shadyeurope.com, with cards, Apple Pay, Google Pay, Shop Pay and PayPal. I set the store up end to end: 45 products and their photos, 13 collections that fill themselves from product tags, shipping for Malta and the 26 other EU countries, the EU market and the payment methods. I also redesigned Shopify's order emails to match the site, from the same email components the website uses.
A CMS the brand can run on its own
Everything that isn't a product lives in Payload CMS, built into the same app: the homepage, the lookbook, the collab stories, the FAQ and every policy page. Photos are compressed on upload into AVIF and WebP at phone, tablet and desktop sizes. A 4.8 MB camera photo becomes a 36 KB file for phones, without anyone thinking about it. Videos are turned into short, silent loops with a poster frame, so the site stays fast however much footage SHADY adds.
Policies written, not left empty
The old site linked to legal pages that didn't exist. The new one ships with Terms, Privacy, Returns, Shipping, Warranty and Cookies, each written as plain answers to set questions, then reviewed and approved before launch. The site refuses to go live in production mode until all six are approved. Cookie consent follows Google Consent Mode v2, and analytics only load once a visitor agrees.
Taking it live
Going live meant more than the website. I set up SHADY's own Google Workspace email and moved the domain into an account in their name. I configured DNS so that the website, Google, Shopify and the site's own emails all send with proper SPF, DKIM and DMARC. Old WooCommerce links redirect to their new pages, so links that were shared or indexed keep working. Every account was created in SHADY's name and handed over, so the business owns all of it.
Built to last
Next.js and Payload in one app, hosted on Fly.io in Frankfurt, the closest region to Malta. Pages are built ahead of time and refresh from Shopify and the CMS within a minute. The database and uploads live on a backed-up volume. Every change is checked and deployed automatically from the repository.
Planning an online shop of your own? Read what makes an e-commerce website sell in Malta, or see how I approach website development in Malta.
03The result
shadyeurope.com went live on 12 October 2026, six days after the first audit. It is a campaign-led store that takes real orders through Shopify's checkout on SHADY's own domain, with a CMS the brand runs itself, every policy in place, and every account in SHADY's name.
See it live ↗







