ClubWyse
Where an audience becomes recurring revenue.
Where an audience becomes recurring revenue. Channels, threads and direct messages with realtime delivery; a classroom with courses, lessons and progress; a resource library; events with RSVP and live rooms; gamification with a point ledger and levels; and paid membership tiers with payouts. Every table carries row level security, tested against real policies rather than mocked.
Six things, one member record
Most community tools give you a forum and leave the money, the teaching and the member data somewhere else. These are one product, on the same login as the rest of the suite.
Community
Channels, threads and direct messages over one authenticated socket carrying messages, typing, reactions and unread counts.
Classroom
Courses, modules and lessons with tier gating at course level, and per-member progress tracked lesson by lesson.
Events
Scheduled events with hosts and capacity, per-member RSVPs feeding reminders, and live rooms with join and recording gating enforced server side.
Paid membership
Tiers, checkout that works without an existing account, recurring state driven by verified webhook events, and payouts.
Growth engine
Trigger-based automations from a durable queue, email sequences, scheduled digests of what a member missed, and outbound webhooks.
Trust and safety
Row level security on every table, tested against real member roles. Reporting and muting as two mechanisms, member bans, and an audit log of staff actions.
In detail
What ClubWyse actually ships
Where an audience becomes recurring revenue. Channels, threads and direct messages with realtime delivery; a classroom with courses, lessons and progress; a resource library; events with RSVP and live rooms; gamification with a point ledger and levels; and paid membership tiers with payouts. Every table carries row level security, tested against real policies rather than mocked.
NoteBuilt multi-tenant from the first migration, so running many clubs is a configuration change rather than a rewrite.
- API endpoints
- 205
- Data tables
- 54
- Row level security
- Every table
Community
Channels, threads and direct messages over one authenticated socket carrying messages, typing, reactions and unread counts.
- Channels with their own tier and level gate
- A cross-channel member feed with per-channel unread counts
- Threaded comments with counts maintained on write
- Reactions, mentions, polls and bookmarks
- Direct messages with exact read receipts
- One search across posts, lessons, resources and members
Classroom and library
Course, module and lesson hierarchy with tier gating at course level, and per-member progress tracked lesson by lesson.
- Courses, modules and lessons
- Per-member lesson progress
- Curated resource collections
- Presigned upload and download URLs
Membership and money
Paid tiers with checkout that does not require an existing account, so a stranger can buy first.
- Membership tiers with public read
- Checkout without a prior account
- Recurring state driven by verified webhook events
- Referrals closed back to who referred the member
- Invite codes, issued and redeemed
- A public waitlist for launches
Trust and safety
Security enforced by Postgres rather than by the application, so the client key is safe to ship.
- Row level security on every table
- Policies tested against real member roles
- Reporting and muting as two separate mechanisms
- Member bans from the club settings surface
- An audit log of staff actions
- Notifications scoped to both club and caller
Connected
Where ClubWyse sits in the suite
ClubWyse authenticates against OpsWyse, which owns the accounts, workspaces, roles and per-product entitlements for the whole suite. That is why these are not integrations that can drift out of sync. There is one record of who you are and what you have bought.
What ClubWyse receives
Members and entitlements resolve against the same tenancy root, so a community member and a CRM contact are not two unrelated people.
What ClubWyse sends on
Membership state is driven by verified webhook events, so a paid member is a subscription the CRM already knows about rather than a separate list to reconcile.