DEV Community

Anum Basit
Anum Basit

Posted on

Modeling paid membership tiers: plans, products and what they unlock

If you've ever built paywalled access into a product, you know the pricing page is the easy part. The hard part is the access model underneath: who can see which group, which course, which post, and what happens the moment a payment stops.

I wrote the membership communities page for TribeCrafter, a managed community platform. This is the builder's-eye version of how paid access works there, plus a few decisions that might help if you're designing something similar.

Start from what's unlocked, not what's charged
A plan in TribeCrafter is a bundle of access. The community admin picks which groups, courses and premium posts each plan or product unlocks, then decides what it costs and how often it bills.

That keeps tiers easy to reshape. A common setup looks like this:

Free Monthly VIP
Community feed and public groups Yes Yes Yes
Private member groups No Yes Yes
Premium blog posts No Yes Yes
Courses No One course All courses

Moving a course from VIP into Monthly is a change to what one plan unlocks. The course itself doesn't change.

Two ways to sell access

Each community chooses a revenue model: one-time products only, recurring plans only, or both. Recurring plans bill monthly or yearly. One-time products grant access for life or for a set period, which covers workshops, lifetime deals and fixed-length programs without bending the subscription model to fit them.
Access ends when the membership does

When a membership ends, access to everything it unlocked is removed automatically. That sounds obvious. But if you've maintained a setup where payments live in one tool and group membership in another, you know how often this step gets skipped or done by hand.

Payments go to the creator's own Stripe account

Each community connects its own Stripe account through Stripe Connect. Members pay through built-in checkout, the money lands in the creator's account, and TribeCrafter takes 0% in platform fees. Stripe's standard processing fee is the only deduction.
Isolation underneath

Paid communities make data ownership a real requirement. Each TribeCrafter community runs on its own infrastructure: its own PostgreSQL database behind its own Directus instance, its own Redis, its own Typesense index, and its own storage bucket and Bunny CDN video library. Member data never sits in a table shared with another community, so there's no tenant_id filter to forget.

More on how memberships work: Membership Community Platform →
If you've built paid tiers into a product, how did you model access: per-resource grants, role-based tiers, or something else? And how did you handle the moment a subscription lapses?

Top comments (0)