StemBlock AI: Product-Led Growth Transformation Plan
Executive Summary
Transform StemBlock AI from a flat-access educational platform into a Product-Led Growth SaaS with freemium model, persona-specific workspaces, and strategic AI workflow expansion.
Key Objectives:
- Implement 3-tier pricing (Community/Team/Enterprise) with clear value differentiation
- Add workspace collaboration features for all personas (Student, Coach, Parent, Admin)
- Gate AI features with usage limits and tier-based access
- Build 4 new AI workflow systems to drive upgrade intent
- Enable self-serve signup and upgrades via Stripe integration
Timeline: 14 weeks across 5 implementation phases
Pricing Tier Architecture
Community Tier (FREE)
Target: Individual users exploring the platform
Limits:
- AI Workflow Runs: 10/month (all workflows combined)
- Storage: 100MB total
- History: 30 days retention
- Collaboration: Solo workspace only
Per-Persona Access:
- Students: 10 submissions/month, basic AI feedback, personal dashboard
- Coaches: 1 class (max 10 students), 5 assignments/month, auto-publish grading only
- Parents: Monitor 1 child, monthly AI summaries
- Admins: Manage own organization only
Team Tier ($29/month per user)
Target: Small schools, homeschool co-ops, tutoring centers
Limits:
- AI Workflow Runs: 100/month per user
- Storage: 10GB per user
- History: Unlimited
- Collaboration: Team workspaces with permissions
Enhanced Access:
- Students: Unlimited submissions, full AI evaluations, peer collaboration
- Coaches: Unlimited classes, advanced grading (review queue, bulk actions), team workspace
- Parents: Monitor 3 children, weekly reports, coach messaging
- Admins: Multi-coach management, org analytics
AI Workflows:
- Automated Grading: 100 uses/month (full control)
- Parent Communication: 50 emails/month
- Learning Paths: 20 generations/month
- Assignment Creation: 20/month
Enterprise Tier (Custom pricing, $500+/month)
Target: Schools, districts, large organizations
Features:
- Everything unlimited
- SSO/SAML integration
- Custom AI model fine-tuning
- White-label platform
- API access
- Dedicated account manager
Database Schema Changes
New Tables
// Core subscription management
model Subscription {
id String @id @default(uuid())
userId String @map("user_id")
tier SubscriptionTier // COMMUNITY, TEAM, ENTERPRISE
status SubscriptionStatus // ACTIVE, CANCELLED, etc.
billingInterval BillingInterval? // MONTHLY, YEARLY
// Stripe fields
stripeCustomerId String? @unique
stripeSubscriptionId String? @unique
// Dates
currentPeriodStart DateTime
currentPeriodEnd DateTime
trialEnd DateTime?
usageRecords UsageRecord[]
}
// Usage tracking
model UsageRecord {
id String @id @default(uuid())
subscriptionId String
userId String
feature FeatureFlag // AI_GRADING, PARENT_COMMUNICATION, etc.
count Int @default(1)
periodStart DateTime
periodEnd DateTime
}
// Feature limits per tier
model FeatureLimit {
id String @id @default(uuid())
tier SubscriptionTier
feature FeatureFlag
monthlyLimit Int? // null = unlimited
enabled Boolean @default(true)
}
// Workspaces
model Workspace {
id String @id @default(uuid())
name String
type WorkspaceType // PERSONAL, TEAM, ORGANIZATION
ownerId String
members WorkspaceMember[]
resources WorkspaceResource[]
}
// Workspace membership
model WorkspaceMember {
workspaceId String
userId String
role WorkspaceRole // OWNER, ADMIN, MEMBER, VIEWER
permissions WorkspacePermission[] // VIEW, COMMENT, EDIT, etc.
}
// Shared resources in workspace
model WorkspaceResource {
id String
workspaceId String
resourceType ResourceType // ASSIGNMENT, SUBMISSION, FILE, etc.
resourceId String // ID of the actual resource
}
// AI workflow execution history
model WorkflowExecution {
id String
userId String
workflowType WorkflowType // AUTOMATED_GRADING, etc.
inputData Json
outputData Json?
status ExecutionStatus // PENDING, RUNNING, COMPLETED, FAILED
tokensUsed Int?
executionTime Int? // in ms
startedAt DateTime
completedAt DateTime?
}
Key Enums:
- FeatureFlag: AI_GRADING, PARENT_COMMUNICATION, LEARNING_PATHS, ASSIGNMENT_CREATION, TEAM_WORKSPACE, BULK_OPERATIONS, etc.
- WorkflowType: AUTOMATED_GRADING, PARENT_COMMUNICATION, LEARNING_PATH, ASSIGNMENT_CREATION
Critical Backend Services
1. Subscriptions Service
File: stemblockai-backend/src/subscriptions/subscriptions.service.ts
Key Methods:
getCurrentSubscription(userId)- Get active subscription with usagehasFeatureAccess(userId, feature)- Check tier-based accesscheckUsageLimit(userId, feature)- Check quota, return remainingrecordUsage(userId, feature)- Track feature usageupgradeSubscription(userId, newTier)- Stripe-powered upgrade
2. Feature Gate Guard
File: stemblockai-backend/src/subscriptions/guards/feature-gate.guard.ts
Usage:
@Post(':id/evaluate')
@UseGuards(JwtAuthGuard, FeatureGateGuard)
@RequireFeature(FeatureFlag.AI_GRADING)
async generateEvaluation(@Param('id') submissionId: string) {
await this.subscriptionsService.recordUsage(req.user.id, FeatureFlag.AI_GRADING);
return this.evaluationsService.generateEvaluation(submissionId);
}
Throws ForbiddenException when quota exceeded, includes upgrade prompt.
3. Workspaces Service
File: stemblockai-backend/src/workspaces/workspaces.service.ts
Key Methods:
createPersonalWorkspace(userId)- Auto-created on registrationcreateTeamWorkspace(ownerId, name)- Team tier requiredaddMember(workspaceId, userId, role, permissions)- Invite to workspaceshareResource(workspaceId, resourceType, resourceId)- Share assignments/files
Four New AI Workflows
Workflow 1: Automated Grading
File: stemblockai-backend/src/workflows/automated-grading/automated-grading.service.ts
Community Tier:
- Auto-triggers on submission (uses 1 of 10/month quota)
- Basic feedback only
- Auto-publishes (no review)
Team/Enterprise Tier:
- Configurable trigger (immediate/batch/manual)
- Review queue with bulk operations
- Custom rubrics
- Full AI feedback with coach override
Implementation:
- Extends existing EvaluationsService
- Adds review queue system
- Batch processing for Team tier
- Integration with workspace sharing
Workflow 2: Parent Communication Generator
File: stemblockai-backend/src/workflows/parent-communication/parent-communication.service.ts
Community Tier:
- 3 pre-built templates (5/month)
- Copy to clipboard (manual send)
Team/Enterprise Tier:
- Custom templates (50/month)
- Direct email sending (SendGrid/Resend)
- Bulk emails for entire class
- Scheduled reports (weekly/monthly)
- Email tracking (Enterprise)
Implementation:
- AI generates personalized content from student data
- Template management system
- Email service integration
- Bulk operations for Team tier
Workflow 3: Personalized Learning Paths
File: stemblockai-backend/src/workflows/learning-paths/learning-paths.service.ts
Community Tier:
- View-only basic path (1 generation)
- Shows next recommended assignment
Team/Enterprise Tier:
- Full customization (20/month)
- Interactive visualization
- Coach can edit milestones
- Skill gap analysis
- Progress tracking
Implementation:
- Performance analysis algorithm (category scores, trends)
- AI-powered path generation
- Visual path builder (frontend)
- Coach customization tools
Workflow 4: Assignment Creation Assistant
File: stemblockai-backend/src/workflows/assignment-creation/assignment-creation.service.ts
Community Tier:
- Not available
Team/Enterprise Tier:
- AI-assisted creation (20/month)
- Parameters: topic, difficulty, type, grade level
- Generates: title, description, rubric, sample solution
- Save to team workspace library
- Reusable templates
Implementation:
- LLM-powered generation
- Template management
- Workspace integration for sharing
- Rubric builder
Workspace Redesign by Persona
Student Workspace
Personal (All Tiers):
- My Assignments dashboard
- Submission history
- Progress tracker with gamification
- Achievement badges
Team+ Additions:
- Peer collaboration spaces
- Share submissions with classmates
- Group project workspaces
- Skill tree visualization
- Comparison to class averages
Coach Workspace
Personal (All Tiers):
- My Classes dashboard
- Assignment creation
- Review queue
- Personal assignment library
Team+ Additions:
- Coach team workspace
- Shared assignment library (all coaches in org)
- Collaborative grading
- Team analytics
- Coach-to-coach messaging
Parent Workspace
Personal (All Tiers):
- Children dashboard
- Progress overview
- Published evaluations viewer
Team+ Additions:
- Monitor up to 3 children (Team) or unlimited (Enterprise)
- Weekly AI reports
- Direct coach messaging
- Comparison across children
- Customizable alerts
Admin Workspace
Personal (All Tiers):
- User management
- Basic analytics
- Billing management
Team+ Additions:
- Multi-coach management
- Organization-wide analytics
- Bulk user operations
- Custom role definitions (Enterprise)
- API key management (Enterprise)
Implementation Phases
Phase 1: Foundation (Weeks 1-3)
Goal: Set up pricing infrastructure and feature gating
Week 1: Database Schema
- Create all new tables (Subscription, UsageRecord, FeatureLimit, Workspace, etc.)
- Update User model with subscription relation
- Seed feature_limits with tier definitions
- Test migrations
Week 2: Subscription Service
- Create SubscriptionsModule and Service
- Implement FeatureGateGuard and @RequireFeature decorator
- Add subscription endpoints (GET /me/subscription, POST /subscriptions/upgrade)
- Unit tests
Week 3: Workspace Service
- Create WorkspacesModule and Service
- Implement workspace endpoints
- Auto-create personal workspaces on registration
- Unit tests
Critical Files:
stemblockai-backend/prisma/schema.prismastemblockai-backend/src/subscriptions/subscriptions.service.tsstemblockai-backend/src/subscriptions/guards/feature-gate.guard.tsstemblockai-backend/src/workspaces/workspaces.service.ts
Phase 2: Frontend Tier UI (Weeks 4-5)
Goal: Build pricing pages and upgrade flows
Week 4: Pricing Page
- Create pricing page with tier comparison
- Build subscription management dashboard
- Add usage indicators to all dashboards
- Build upgrade modals/CTAs
Week 5: Stripe Integration
- Set up Stripe products and prices
- Implement StripeService
- Create checkout session endpoint
- Handle Stripe webhooks (subscription events)
- Test payment flow
Critical Files:
stemblockai-frontend/app/pricing/page.tsxstemblockai-frontend/components/dashboard/UsageIndicator.tsxstemblockai-frontend/components/modals/UpgradeModal.tsxstemblockai-backend/src/billing/stripe.service.ts
Phase 3: Workspace Features (Weeks 6-8)
Goal: Build collaborative workspaces
Week 6: Personal Workspaces
- Student/Coach/Parent/Admin personal workspace dashboards
- Workspace settings
Week 7: Team Workspaces
- Create team workspace functionality
- Invite members, permissions management
- Shared assignment library
Week 8: Collaboration Features
- Peer review system
- Comments and annotations
- Activity feed
- Notifications system
Critical Files:
stemblockai-frontend/app/[role]/workspace/page.tsx(for each role)stemblockai-frontend/app/coach/workspace/team/page.tsxstemblockai-backend/src/collaboration/peer-reviews.service.ts
Phase 4: AI Workflows (Weeks 9-12)
Goal: Build 4 new AI workflow systems
Week 9: Automated Grading Workflow
- Backend service with review queue
- Bulk grading operations
- Frontend grading panel for coaches
- Workflow configuration UI
Week 10: Parent Communication Generator
- Backend service with email integration
- Template management
- Frontend communication panel
- Bulk communication UI
Week 11: Personalized Learning Paths
- Backend service with performance analysis
- Path generation with LLM
- Frontend visualization
- Coach customization interface
Week 12: Assignment Creation Assistant
- Backend service with template management
- Rubric generation
- Frontend creation wizard
- Workspace integration
Critical Files:
stemblockai-backend/src/workflows/automated-grading/automated-grading.service.tsstemblockai-backend/src/workflows/parent-communication/parent-communication.service.tsstemblockai-backend/src/workflows/learning-paths/learning-paths.service.tsstemblockai-backend/src/workflows/assignment-creation/assignment-creation.service.ts- Frontend workflow UIs for each
Phase 5: Polish & Launch (Weeks 13-14)
Goal: Testing, migration, and launch
Week 13: Testing
- End-to-end testing
- Load testing (concurrent AI requests)
- Security audit
- Cross-browser and mobile testing
- Accessibility audit
Week 14: Migration & Launch
- Migrate all existing users to COMMUNITY tier
- 30-day grace period (unlimited access)
- Send announcement emails
- Launch pricing page
- Monitor for issues
Migration Strategy
Existing Users
- Default tier: All existing users → COMMUNITY tier
- Grace period: 30 days of unlimited access to explore features
- After grace period: Enforce COMMUNITY tier limits (10 AI runs/month)
Migration Script
# Run migration
npm run migrate:users-to-community
Creates COMMUNITY subscription for all users without subscriptions.
Communication Plan
Pre-Launch (1 week before):
- Email: "Introducing New Features: Team Workspaces & AI Workflows"
- Announce pricing tiers, reassure existing users
Launch Day:
- Email: "New Features Are Live! Explore Your Free COMMUNITY Tier"
- Highlight new features, explain limits
- Offer launch discount (20% off Team tier for 3 months)
Post-Grace Period:
- Email: "Heads Up: Your Monthly AI Quota Resets Soon"
- Remind current usage, suggest upgrade
Harvey.ai Insights (Contrast)
Harvey's Approach:
- Enterprise-only, no free tier
- Sales-led growth (high-touch)
- Deep customization per customer
- $100K+ per customer
- 500+ customers, $50M ARR
StemBlock AI's PLG Approach (Opposite):
- Freemium with self-serve upgrades
- Product-led growth (low-touch)
- Standardized features with templates
- $29-500/month per user
- Target: Thousands of users via viral adoption
Key Lessons:
- Harvey left market share on table by avoiding freemium
- PLG requires lower customization, higher standardization
- Community features drive network effects (Harvey doesn't have)
- Self-serve checkout essential (Harvey requires sales calls)
Critical Files Summary
Backend (Most Important)
stemblockai-backend/prisma/schema.prisma- Database foundationstemblockai-backend/src/subscriptions/subscriptions.service.ts- Core subscription logicstemblockai-backend/src/subscriptions/guards/feature-gate.guard.ts- Feature access controlstemblockai-backend/src/workflows/automated-grading/automated-grading.service.ts- Highest-value workflowstemblockai-backend/src/workspaces/workspaces.service.ts- Collaboration foundation
Frontend (Most Important)
stemblockai-frontend/app/pricing/page.tsx- Primary conversion pointstemblockai-frontend/components/dashboard/UsageIndicator.tsx- Drives upgrade intentstemblockai-frontend/components/modals/UpgradeModal.tsx- Self-serve upgrade flowstemblockai-frontend/components/coach/AutomatedGradingPanel.tsx- Key workflow UIstemblockai-frontend/app/settings/subscription/page.tsx- Subscription management
Success Metrics
PLG Metrics to Track:
- Free-to-paid conversion rate (target: 5-10%)
- Time to first value (target: < 5 minutes)
- Feature adoption rate (AI workflows)
- Monthly Active Users (MAU) growth
- Average Revenue Per User (ARPU)
- Net Revenue Retention (NRR)
- Product Qualified Leads (PQLs) - users hitting quota limits
Tier Distribution Goal:
- Community: 80% of users (broad adoption)
- Team: 15% of users (primary revenue)
- Enterprise: 5% of users (high-value accounts)
Next Steps
- Review this plan with stakeholders
- Set up development environment (local Stripe test mode)
- Start Phase 1, Week 1: Database schema implementation
- Establish weekly checkpoints for progress review
- Prepare migration communications for existing users
This plan transforms StemBlock AI into a modern PLG SaaS while preserving the quality of the existing AI evaluation system.