Members as a first-class object
Not a Woo customer with a tag. A proper Member entity with status, tier, renewal date and lifecycle stage. Everything else hangs off this one row.
Kettle Club ran on a stack of WooCommerce + Mailchimp + a master member spreadsheet that nobody trusted. Renewals slipped, lifecycle emails fired the wrong day, and the team spent more time reconciling than running the club.
The unsexy choice — a clean members table with proper indexes — is what made the fancy automations possible. Most “membership platforms” trip over this and sell you a UI to paper over it.
Not a Woo customer with a tag. A proper Member entity with status, tier, renewal date and lifecycle stage. Everything else hangs off this one row.
Triggered email + SMS flows tied to member events — joined, renewed, lapsed, re-engaged. We wrote ten flows, the team can edit eight of them without engineering.
Natural-language search over the catalogue with answers grounded in real product data. "Show me bottles for Christmas under £80" returns the actual list.
Member-list view, renewals queue, exception reports. Built so the office team can look at it in the morning and know the day's work.
Renewal-window churn dropped meaningfully against pre-launch baseline. Specifics belong to Kettle Club — happy to talk through them on a call.
The platform has been quietly running through two full renewal cycles. The lifecycle automations catch the soft-lapse window the team used to miss; the ChatGPT-shop search has become the main entry point for the catalogue.
Most importantly: the office team trusts the data again. That's the unsexy outcome we're proudest of.
One call. We'll dig into what you've got, where it's friction, and whether we're the right people to help. No deck, no pitch.