Cooc
A Central London members club that had to become a membership system after launch — registration, approval, billing and a wallet pass — designed and wired on WordPress at Greyzip.
2025
- Client
- Cooc, with The Mandrake
- Type
- Members-club site and membership system
- Stack
- Figma, WordPress, Divi, MemberPress, New User Approve, Zapier, Passcreator
- Team
- Greyzip; Beth Lucas on front-end development









Beyond a brand landing page
The work was a membership operation that had to ship on WordPress — not a custom club app.
Cooc is a private members club in Central London, under The Mandrake. The first brief was a brand site. Weeks after that site went live, the club needed people to apply, be approved, pay, and carry a pass on their phone.
Initial proposal
A brand-focused WordPress site: look, tone and a public presence for the club. Proposal agreed May 2024. UX, branding and graphic design in July. Front-end and back-end in August. Original site live December 2024.
Discovery
In February 2025 the request changed. They needed registration, payment collection and digital Apple and Android Wallet passes for door access, without waiting on a native app. A custom membership product — the kind of thing a house like Soho House runs as its own app — would have been the longer fit. The timeline did not allow it. WordPress, with plugins that already knew members, billing and passes, was the path that could ship in weeks.
Product response
I designed the membership journey in Figma — options, application, approval, email, wallet pass — and the pass itself. Beth Lucas was the front-end developer. I built the WordPress membership wiring: a Divi registration form into MemberPress, New User Approve holding applications, MemberPress plans and recurring billing, Passcreator for the wallet pass, Zapier for the welcome mail and admin notice. WordPress was a constraint I designed inside, not a template I decorated.
Mapping the reality.
A club site, then the membership loop that had to hang off it.
Built at Greyzip. Brand site through December 2024. Membership platform requested February 2025 and live March 2025. Screens here are the Figma work, the journey wireframe, the comparison that decided the stack, and the pass I designed. Mario Brown on the card is test data.

Problem
The club’s tone is surreal and maximal — photography, costume, collage. A default Divi layout would have read as a brochure. The registration area still had to feel like joining a house, not filling a plugin form.
Solution
SangBlue Sans for display. Palette: burnt orange, light pink, salmon red, dark green. Logo as four overlapping crescents. Mood references layered like the venue. High-fidelity frames in Figma covered heroes, memberships, account and club pages before they were built in WordPress.
Before
- A brand site scoped as look and feel
- Plugin forms that look like plugin forms
After
- Type, colour and logo specified in Figma
- Registration treated as an initiation, not a contact block
- Live site at cooc.london
Problem
Membership is not a page. Someone has to pick a tier, apply, wait, pay, and then have something to show at the door. If that path only lived in the developers’ heads, WordPress would assemble the plugins in the wrong order.
Solution
A wireframe flow: Membership Options on the landing page, three tiers, the application form, internal approve or deny, a confirmation mail with a pass link, then the card stored in Apple or Android Wallet. Figma also explored account, merchandise and room layouts that WordPress would not fully become.
Before
- A live brand site with no join loop
- Door access as a later problem
After
- Mapped path from options to wallet
- Approval as a named step, not an inbox
- Room-booking frames left as exploration, not a shipped module
Problem
Anyone can submit a form. A members club cannot let that submission become a paying member on its own. The office had to see applications and approve or refuse them before billing started.
Solution
Members register through a custom-designed Divi form. MemberPress captures the submission. New User Approve holds it in review. An admin signs the person off, or they do not join.
Before
- A public site with no application gate
- No named hold between form and member
After
- Divi form as the application
- MemberPress as the member record
- New User Approve as the hold
Problem
Tiers existed in the design — including an Over 33 member type on the pass. Without a plan on the member record, approval is only a yes, and the door still has nothing to check against.
Solution
Approved members are auto-enrolled on their MemberPress plan — standard, inner circle, or otherwise — with recurring billing on that plan. The pass later reads the member type from that record.
Before
- Tiers as marketing copy
- Payment as a later conversation
After
- Plan assignment on approval
- Recurring billing in MemberPress
- Member type available to the pass
Problem
A native app would have been the membership card. They needed something people already carry: Apple Wallet and Google Wallet. The pass still had to look like Cooc, not like a default Passcreator template.
Solution
A portrait pass: Cooc mark, member type, name, status, email, QR and member ID. Passcreator generates the wallet file. Zapier sends the download link in the welcome mail. Mario Brown / mario.brown@test.co.uk on the still is test data, not a member.
Before
- No digital ID for the door
- A default wallet pass if we had skipped the design
After
- Designed Cooc pass in Figma
- Passcreator as the issuer
- QR and member ID on the card
Problem
Once the club is a membership product, the next questions are who came, who they can message, what they did, and whether bookings in SevenRooms show up in the same place. WordPress with these plugins does not give those surfaces.
Solution
I compared a custom app with WordPress on flexibility, UX, scale, performance, speed, cost, CMS and security, and shipped WordPress because speed and the existing CMS won the February window. The gaps stay listed. They are not filled with empty laptop frames.
Before
- A membership loop that can launch
- No attendance, in-platform chat, member analytics, or SevenRooms API
After
- Trade-offs written down rather than hidden
- Custom app named as the longer product, not this release
04 / Deep dives
Three problems that were not a prettier theme
The brief looked like WordPress. The work that mattered was the pivot, the stack choice, and a join path that ended in a pass people could hold.
From a live brand site to a membership system in weeks
Problem
The original site went live in December 2024 as a brand presence. In February 2025 the club asked for registration, payment and Apple Wallet passes. A native app or an ERP-style dashboard would have been the scale answer. They needed something that could be live in March.
Contribution
I already had the UX, branding and graphic design from July, and the site in WordPress from August. The February work was a front-end redesign plus MemberPress, Zapier and Passcreator — joining tools the CMS could already run, on a journey I had drawn, rather than starting a new app.
Constraints
- Original website live December 2024.
- Membership platform requested February 2025 and live March 2025.
- Beth Lucas on front-end development.
- Do not wait on a custom app.
- Door access had to be a wallet pass, not a new download from an app store.
Keep WordPress, add the membership loop
The brand site was already the public face. Rebuilding it as Laravel would have missed March. MemberPress, New User Approve, Zapier and Passcreator sat on the stack that was already live.
Design the pass, do not accept the default
Passcreator issues the file. The layout — mark, member type, identity, QR, ID — is the Figma card. Test member on the still is Mario Brown.
Treat approval as operations, not a thank-you page
New User Approve holds the application. Zapier tells admins. Billing starts after the yes.
May 2024 to March 2025. Brand site live in December. Membership platform requested in February and live in March.
Outcome
Membership platform live March 2025 at cooc.london. Brand site and membership loop on the same WordPress install.
05 / Design to code
Where the design had to survive the plugins
Figma held the brand, the pages and the pass. WordPress, Divi and MemberPress were how those frames became a live club site. Zapier and Passcreator were how approval became a mail and a wallet file. I designed the system and wired it; Beth Lucas built front-end. The stack is the one that could ship in March, not the one I would choose for a club app.
Hold applications in the CMS, not in an inbox
Divi writes to MemberPress. New User Approve is the gate. Billing does not start on submit.
Let Zapier carry the pass link
Welcome mail with a download link, and a notice to admins on approval. That is operations visibility without a custom notification service.
Design the wallet card as a product surface
Passcreator issues it. The Cooc layout is mine. Test member on the still is labelled as test data.
Figma to shipped
- Figma
- WordPress
- Divi
- MemberPress
- New User Approve
- Zapier
- Passcreator
- Apple Wallet
- Google Wallet
06 / Outcome and status
Where the product stood
The brand site went live in December 2024. The membership platform — apply, approve, bill, pass — went live in March 2025 at cooc.london. Built at Greyzip with Beth Lucas on front-end. WordPress was the launch stack. A custom club app was the comparison, not the delivery.
Evidence
- Live site: cooc.london — brand pages plus membership.
- Journey designed in Figma: options, application, approval, welcome mail, wallet pass.
- Stack on the live membership loop: Divi form, MemberPress, New User Approve, Zapier, Passcreator. No event attendance, in-platform messaging, member analytics, or SevenRooms API.
What's next
A custom app if the club needs attendance, in-platform messaging, member history and a direct SevenRooms join. Plugins will not grow into that product by themselves.
Reflection
The honest version of this project is a brand site that had to become a membership operation without becoming a native app. I would still map the join path and design the pass before picking plugins. I would still have shipped WordPress for that February window. I would not describe this as a custom membership product, and I would not print a quote I cannot attribute.
