Events & DecorWeb Development

Giggle Factory

October 2026

Live homepage, captured October 2026 · hover to pause

Problem

A Joburg décor and party hire business with a WooCommerce store it never needed, and quotes and invoices still done by hand on WhatsApp.

Solution

A headless rebuild: a fast public site and a custom admin made only for Giggle Factory, covering content, gallery, quotes, invoices, deposits and social posts. No plugins.

Result

Live and growing. The owner edits the site and runs quoting and invoicing herself, and social posts are gaining traction. Measured results will follow at 90 days.

Giggle Factory styles birthdays, baby showers, bridal showers and office parties across Johannesburg: balloon backdrops, themed décor, party hire and catering. Most of their customers find them on social media, through photos of past events, and then message them on WhatsApp.

We built their first site in 2025 on WordPress and WooCommerce. It was a full online store with a product configurator and delivery zones. It was also the wrong tool. Giggle Factory doesn't sell stock. Every event is styled, hired or catered, and every price starts with a conversation about the date, the theme and the number of guests.

Why the online store had to go

A store asks customers to add things to a cart. Giggle Factory's customers ask, "How much for 20 guests?" The store sat unused while quotes carried on over WhatsApp, and the owner, Amanda, was left maintaining software she didn't need.

WooCommerce was also hard to run day to day. A simple quote meant working around product listings, and an invoice lived somewhere else again. Every extra plugin added another update to keep on top of. Across WordPress as a whole, 91% of the new security vulnerabilities found in 2025 were in plugins, not in WordPress itself.

So we rebuilt it around how the business actually works.

What we built instead

Version two is a headless build: a public website, and a separate admin made only for Giggle Factory. Both read from one database. There are no plugins and no add-ons. Every feature is part of the system.

The public site is fast on mobile, where most of their visitors are. That matters, because Google found that the chance of a visitor leaving rises by 32% as a page's load time goes from one second to three. Every page leads to a WhatsApp chat, because that is still how Giggle Factory's customers prefer to book.

The admin replaces WordPress, WooCommerce and a spreadsheet. Amanda can:

  • edit every word and photo on the site herself
  • run the announcement bar like an alarm clock app, with countdowns to booking cut-offs and scheduled holiday notices that switch themselves on and off
  • upload a whole event's photos at once, tagged by occasion, theme and what is in each shot, so the gallery's filters build themselves
  • send a quote as a WhatsApp link, and have the client accept it on their phone, which creates the invoice automatically
  • record deposits and part-payments, with the balance and what is due next always visible
  • plan a week of social media posts, with branded tiles generated from Giggle Factory's own design templates and captions written for each platform

Client links are private by design. Each quote and invoice opens on a long random address, so nobody can browse other clients' documents by guessing a number.

Built around how leads actually arrive

Most of Giggle Factory's leads come from social media, from photos of real events. So the gallery and the social scheduler matter more to this business than any homepage banner. Event photos go up once, tagged once, and feed both the website gallery and the week's posts.

Every enquiry also starts with the number of guests. The next stage of the build is a booking builder that starts from that question. A customer picks 10, 20, 30 or 50 guests, the chairs, plates, cutlery and tables fill in automatically, and the calendar shows which dates that basket fits. Stock is held for 48 hours when a quote is accepted, and released if the 50% deposit doesn't arrive.

A site that can be maintained by AI, safely

This is where the project changed how Keno Sonic builds. Because the site's content and data live in a structured database rather than in plugin settings, changes are repeatable. An AI coding agent can make a change, test it against the real business rules and ship it the same way every time. The client can work with the agent of their choice, and routine jobs can run on a schedule.

That only works with guardrails. Every booking rule, such as never double-booking the last chairs or releasing an unpaid hold after 48 hours, is written down as an automated test that runs before any change goes live.

Still building

This is a live system, not a finished brochure. Next on the list:

  • the guest-count booking builder, with card and EFT deposits
  • an after-hours WhatsApp assistant that answers common questions and prepares quotes while the team is offline
  • seasonal campaign pages that switch on and off by date, built to pair with Google and Meta ads
  • more search and lead-generation features after launch

We'll publish real numbers here once the new site has 90 days of data.

Before and after

From a shop window to a working front door

Drag the handle. Same photo, two different businesses. The earlier site was a shop: DIY kits, a cart and a customer login. Today's site leads with the work and one way to start, a WhatsApp message.

The new Giggle Factory homepage: a cabana table setting beside the headline Balloon décor, party hire and catering in Johannesburg, with a WhatsApp button
The earlier Giggle Factory site: an online shop with a cart, a customer login and a Shop DIY Kits button, around the same cabana photo
Earlier version · online storeToday · headless build

The earlier site used a stock photo here that has since been taken down, so today's hero photo is shown in its place for a like-for-like comparison.

The details

Four parts of the system, working

Live recreations of real Giggle Factory screens. Switch campaigns on and off, filter the gallery, change the guest count, record a deposit.

01

Announcement campaigns

Each announcement has a switch, like an alarm. Live ones take turns in the bar, and countdowns run to the second.

Book by 14:00 for this weekend
Weekend cut-offDaily · 14:00 · Mon to Fri
Holiday closureMessage · 24 to 26 Dec
December bookingsCountdown · 1 Dec 00:00
02

Self-building gallery filters

Photos are tagged once at upload. The filters only offer what exists, with counts, so they grow with the portfolio.

What
Theme
Year
Long table under a white cabana tent with gold chairs
Champagne flute and gold candlesticks on a hessian table runner
A stylist arranging cushions in front of a green striped backdrop beside a set table
White armchair with green striped cushions before a round striped backdrop
Place setting with a grey napkin, stoneware bowl and gold cutlery

Showing 5 of 5 · real Giggle Factory photos, sample tags

03

Guest-count booking builder

Every enquiry starts with "how many guests?", so the basket fills itself from that answer and never offers more stock than exists.

In development
Chairs1 per guest20
Plates1 per guest20
Cutlery setsknife, fork, spoon, teaspoon20
Foldable tablesseats 8 each3

Fits current stock. The calendar would now show which dates this basket is free.

04

Deposits that confirm bookings

Accepting a quote holds the stock for 48 hours. The moment payments cover the 50% deposit, the booking confirms itself.

Invoice GF-2026-1042R 4 800,00
Deposit (50%)R 2 400,00
PaidR 0,00
Invoice SentBooking Held · 48:00:00

Sample invoice, not a real client

Build Journal

Devlog

Secure client links and deposits

securityinvoicing

Quotes and invoices now open on unguessable links, and invoices track deposits and part-payments. Accepting a quote holds the hire stock for 48 hours.

Booking engine foundations

bookingstesting

Availability rules for chairs, tables and delivery slots now live in the database, with 24 automated tests covering the last chair, overlapping events and expired holds.

Event uploads and gallery filters

galleryseo

A whole event's photos upload in one go, already tagged. The gallery builds filters for occasion, theme, item and year from the tags in use.

Announcement campaigns

cms

Countdowns, booking cut-offs and scheduled holiday notices for the announcement bar, each with its own on/off switch.

More work

See the full portfolio.

Browse case studies across industries and service types.