A new ecommerce site isn't anything special in 2026, with various ready to go solutions available. Approaching the project though, I did settle on a bespoke combination of Laravel, Vue and Stripe checkout, as opposed to something off the shelf...
Why bespoke?
Shopify would probably have been the "safe bet", and for the vast majority of people it's absolutely the right call. With Amy's site though, we both wanted to maximise our control over the site (thinking both short and long term), reduce ongoing fees, and also make use of modern build speeds (enhanced by AI etc.) - which can really help accelerate the delivery of a project like this.
I didn't fancy fighting with (or submitting to!) an off the shelf ecosystem. I didn't want to use a theme and have to wrangle it into doing what I want either. The design is kept deliberately quiet (slate, white and light grey, subtle accents) and lets the illustrations do the talking - Amy's artwork is the whole point.
Bespoke allowed me to make the shop work the way Amy thinks about it... Collections, seconds, sale items, personalised products, large letters vs small parcels etc. It's all modelled how she actually runs things, rather than squeezed into someone else's idea of a product. There's no monthly platform bill or stack of app subscriptions. Payments go through Stripe Checkout, so card details never touch the site, and Stripe's fee is the only cost per sale (hosting aside).
For this project it's been the right choice, and we're both really happy with the result.
Some highlights
Orders live in the CMS. Amy can see what needs posting straight from her dashboard, and marking an order as shipped emails the customer with their tracking number.
Easy to manage products. With options for types, additions, personalisation, stock levels etc.
Shipping profiles. Which Amy can assign at category and product level so the calculation cascades at checkout based on the basket contents.
A basket that keeps up. If stock runs low or a price changes while something's sat in a basket, the shopper is told, not caught out.
Markets and fairs. Amy sells in person too, so upcoming events get their own block and quietly disappear once they're over.
Some subtle animations. Like raising the eyes in the logo, and success/fail signals on basket buttons to try and bring elements to life. More to come on this too!
Laravel Cloud
I've also been moving more and more towards Laravel Cloud for hosting.
I find it really great to use and setup. There's a clear overview about what's going on and what resources are in play, along with the ability to scale really easily - automatically even if you wish.
They also handled the recent PHP2shell chaos really well with automatic patching.
I'm not a fanboy I promise! 😂
Go check out the site
Amy's new site is now live, so go check it out and get yourself something nice!