Switching to Personal Mode
If your product is a B2C application or a prosumer tool where users do not collaborate with others, you don't need Team Workspaces.
If your product is a B2C application or a prosumer tool where users do not collaborate with others, you don't need Team Workspaces.
You can configure the starter to operate in "Personal Mode" with a single flag.
How to Switch
Open packages/backend/convex/organizations/config.ts and change
organizationConfig to:
export const organizationConfig: OrganizationConfig = {
mode: "personal",
showSwitcher: "whenMultiple",
allowInvitations: false,
allowMemberManagement: false,
teams: false,
};What Happens
- Workspace Creation is Disabled: The UI to create new workspaces will be
hidden, and the
createWorkspacemutation will throw an error if called. - Invitations are Disabled: The UI to invite members will be hidden, and
the
inviteMembermutation will throw an error. - Member Management is Disabled: The members list in settings becomes read-only (or hidden entirely), and role-update/removal mutations throw errors.
- Switcher Hides: The workspace switcher in the sidebar will hide itself
because
showSwitcheris set to"whenMultiple"and users will only ever have their one personal workspace.
Under the Hood
The system still uses Better Auth Organizations under the hood. Every user still gets a "Personal Workspace" automatically created upon signup.
This design choice ensures that if you decide to pivot to B2B or add
team collaboration later, your data model is already multi-tenant. You won't
need to run a complex migration to move data from a "user" scope to an
"organization" scope — you just flip the flag back to "team".
Workspace Demo
The starter includes a "Workspace Records" demo feature to illustrate how tenant-scoped data works in practice. It consists of a simple CRUD application for managing "Records" (like tasks or documents).
Removing the Workspace Demo
Remove the optional Workspace Records CRUD demo while retaining the organization's multi-tenancy infrastructure.