Overview
Lawn uses a two-level organization system: Teams contain Projects, and Projects contain Videos. This structure enables clear organization and role-based access control for video collaboration.Teams
Teams are the top-level organizational unit in Lawn:Workspace
Each team functions as an independent workspace with its own members, projects, and billing
Unique Slug
Teams are identified by a URL-friendly slug generated from the team name
Subscription
Each team has its own subscription plan and billing status
Multiple Teams
Users can belong to multiple teams with different roles in each
Creating Teams
Any authenticated user can create a new team:Slug Generation
Team slugs are generated automatically:- Convert name to lowercase
- Replace non-alphanumeric characters with hyphens
- Remove leading/trailing hyphens
- Truncate to 50 characters
- Append counter if slug already exists (e.g.,
my-team-2)
Team Roles
Lawn uses a hierarchical role system with four levels:- Owner
- Admin
- Member
- Viewer
Full Control
- All admin permissions
- Delete the team
- Manage billing and subscriptions
- Transfer ownership
- Cannot be removed
Role permissions cascade down - each role includes all permissions from roles below it.
Team Members
Team membership is managed through the team settings:Member Information
Each team member record includes:- User ID: Clerk authentication identifier
- Email: Normalized and lowercased for consistency
- Name: Display name from user profile
- Avatar: Profile picture URL
- Role: Current role in the team
Managing Members
Invite by Email
Admins can send invitations to new members via email address
Role Assignment
Choose admin, member, or viewer role when inviting
Remove Members
Admins can remove any member except the owner
Change Roles
Admins can promote or demote members at any time
Team Invitations
The invitation system enables controlled team growth:Sending Invitations
Accepting Invitations
Users accept invitations through a dedicated flow:- Must be authenticated with Clerk
- Email must match invitation recipient
- Invitation must not be expired
- User cannot already be a team member
- Automatically creates team membership
- Invitation is deleted after acceptance
Invitation Management
Admins can view and manage pending invitations:- See all active invitations
- View expiration dates
- Delete pending invitations
- Resend by creating new invitation
Projects
Projects organize videos within a team:Video Container
Projects group related videos for easy organization
Team Scoped
Each project belongs to exactly one team
Shared Access
All team members can access all projects in their team
Flexible Structure
Create projects for clients, campaigns, products, or any organizational scheme
Creating Projects
Team members (not viewers) can create projects:Projects require an active team subscription. Free plans may have project limits.
Project Management
Project Details
Each project includes:- Name: Primary identifier
- Description: Optional context and notes
- Team ID: Parent team reference
- Video Count: Automatically calculated
- Creation Date: When project was created
Updating Projects
Members and above can modify projects:- Update project name
- Change or add description
- Changes reflect immediately for all team members
Deleting Projects
Only admins and owners can delete projects:Upload Targets
The system provides a list of available upload targets:- All projects in teams where user is member or higher
- Sorted alphabetically by team name, then project name
- Can be filtered by team slug
- Used for upload destination selection
Team Navigation
Teams and projects support efficient navigation:Team List View
Users see all teams they belong to:- Ordered by name
- Shows current role in each team
- Indicates active subscription status
- Links to team dashboard
Team with Projects View
Expanded view includes project information:- All projects within each team
- Video count per project
- Quick access to recent videos
- Upload shortcuts
Getting from homepage to the latest video should take fewer than 4 clicks, following Lawn’s convenience philosophy.
Leaving Teams
Members can leave teams voluntarily:- Available to all roles except owner
- Removes access to all team projects
- Cannot be undone (must be re-invited)
- Owner must transfer ownership before leaving
Deleting Teams
Only team owners can delete teams:Deletion Requirements
What Gets Deleted
Team deletion removes:- All team members
- All pending invitations
- All projects
- All videos in all projects
- All comments on all videos
- All share links and access grants
Billing Integration
Teams integrate with Stripe for subscription management. Only team owners can manage billing.Subscription Plans
Lawn offers two subscription tiers:| Plan | Price | Storage | Best For |
|---|---|---|---|
| Basic | $5/month | 100 GB | Small teams and individual creators |
| Pro | $25/month | 1 TB (1024 GB) | Growing teams with higher storage needs |
- Unlimited team members
- Unlimited projects and videos
- Timestamped comments with threading
- Workflow status tracking (review/rework/done)
- Password-protected share links
- Real-time collaboration and presence
- Mux-powered adaptive streaming
For detailed billing API documentation, see Billing API.
Storage Quotas
Storage limits are enforced per team across all projects:- Basic: 100 GB total storage
- Pro: 1 TB (1024 GB) total storage
- Checked before video upload begins
- Enforced when upload completes
- Includes all videos across all team projects
- Immediate feedback if quota exceeded
Billing Metadata
Each team tracks:- Stripe customer ID
- Stripe subscription ID
- Stripe price ID (links to Basic or Pro plan)
- Billing status (
active,trialing,past_due, etc.) - Current period end date
Multi-Team Support
Users can participate in multiple teams:- No limit on team count
- Independent roles per team
- Separate context for each team
- Easy team switching in navigation
- Personal uploads stay isolated
