Case study 04

Bubblegum Balloons

An e-commerce platform for a Farnborough-based balloon decor business. In-browser product customisation, custom integrations with their order management, shipping and accounting tools, and a barcode-scanner app for the warehouse dispatch team.

Bubblegum Balloons is a Farnborough-based balloon decor and event styling business. We built and look after their full e-commerce platform: the storefront customers buy from, the API behind it, and the integrations that keep their operations side running.

The customer-facing site is a Nuxt frontend talking to a Laravel API. Orders go through Braintree for payment, get tagged with delivery details, and flow into the back-office systems the team runs the business on.

In-browser product customisation. Many orders aren’t off-the-shelf. Customers choose the colour scheme and the lettering. We built the customisation flow on Konva (an HTML5 canvas library), so customers see exactly what they’re ordering as they build it in the browser, without sending a mockup back and forth.

Distance-based shipping. Flat delivery zones didn’t fit a business serving customers across the south-east. We rebuilt the shipping engine to price by actual distance from the warehouse, with the frontend resolving postcodes to latitude and longitude at checkout. Customers see the delivery price before they pay.

Custom integrations with the tools they already use. Most of the operational side runs through software Bubblegum didn’t want to give up, and that didn’t natively talk to each other. We built integrations to bridge them:

  • Linnworks for order management and inventory. Orders land in Laravel, sync to Linnworks for picking and dispatch, with stock levels and fulfilment status flowing back the other way.
  • GFS for shipping. We built a custom API wrapper so labels get generated and tracked from inside the Laravel admin, not through a separate portal.
  • Xero for accounting. Bubblegum quickly went past Xero’s recommended limit of 10,000 transactions per period, so syncing every transaction wasn’t an option. We built an aggregation layer that rolls transactions up by day before pushing them across.

A separate warehouse scanner. In late 2024 we built a tiny Nuxt progressive web app for the dispatch team to scan barcodes at the packing bench. It pulls live order info out of Linnworks, shows fulfilment notes, and copies order IDs to the clipboard, so the dispatch team doesn’t have to switch between screens.

The site is live and we work on it most weeks. The platform is now three connected codebases (the API, the storefront and the scanner), plus the integrations.

Homepage hero, one of several rotating category landing slides
Product detail page with personalisation options
Bulk add-on assignment tool, an internal admin for bundling extras with product ranges
Products admin showing over 8,000 SKUs across the catalogue

Got something similar in mind?

Tell us about the new build, the rewrite or the thing that's been broken for a while, and we'll tell you what we'd do.

Get in touch