CalWizz Freemium Plan Spec
Overview
Define free vs paid tiers to convert trial users to paying customers while providing enough value in the free tier to drive word-of-mouth.
Current State
- Pricing: 20/year
- Trial: 14-day free trial, then paywall
- Problem: Users may not see enough value in 14 days to convert
Proposed Tiers
🆓 Free Forever
Target: Casual users who want basic calendar visibility
| Feature | Free Limit |
|---|---|
| Calendar connections | 1 |
| Date range | Last 30 days only |
| Basic stats | ✅ Total meeting hours, meeting count |
| Meeting breakdown | ✅ By day of week |
| Schedule Health Score | ❌ |
| Time distribution charts | ❌ |
| Meeting categories | ❌ |
| Export data | ❌ |
| Email recaps | ❌ |
| Historical data | ❌ (365 days max) |
Value prop: “See how much time you’re spending in meetings this month”
💼 Pro (20/year)
Target: Professionals who want to optimize their calendar
| Feature | Pro |
|---|---|
| Calendar connections | 3 |
| Date range | Unlimited history |
| Basic stats | ✅ |
| Meeting breakdown | ✅ All views |
| Schedule Health Score | ✅ |
| Time distribution charts | ✅ |
| Meeting categories | ✅ Auto + custom |
| Export data | ✅ CSV/PDF |
| Email recaps | ❌ |
| Focus time analysis | ✅ |
| Trend comparisons | ✅ Week-over-week, month-over-month |
Value prop: “Understand and improve your meeting habits”
🏢 Team (Future - $15/user/month)
Target: Managers who want team calendar insights
| Feature | Team |
|---|---|
| Everything in Pro | ✅ |
| Team dashboard | ✅ |
| Email recaps | ✅ |
| Meeting overlap analysis | ✅ |
| Team schedule health | ✅ |
| Manager reports | ✅ |
| SSO/SAML | ✅ |
| Priority support | ✅ |
Value prop: “Protect your team’s time”
Free → Pro Upgrade Triggers
Soft Gates (Show preview, prompt upgrade)
- After 30 days: “Want to see your full history? Upgrade to Pro”
- Schedule Health Score: Show grayed-out score with “Unlock with Pro”
- Export: “Export to CSV available on Pro”
- Second calendar: “Connect more calendars with Pro”
Hard Gates (Block functionality)
- Calendar connections beyond 1
- Date ranges beyond 30 days
- Email recap configuration
- Advanced charts and breakdowns
Implementation Checklist
Database Changes
- Add
planfield to users table (free/pro/team) - Add
plan_expires_atfor trial/subscription tracking - Add
calendars_limitbased on plan
Backend Changes
- Create plan check middleware
- Limit date range queries for free users
- Gate advanced features behind plan check
- Update Stripe integration for plan changes
Frontend Changes
- Add upgrade prompts at gate points
- Show plan badge in header/settings
- Create upgrade modal with feature comparison
- Add “Why upgrade?” tooltip on locked features
Stripe Setup
- Create “Free” plan (price: $0)
- Keep existing Pro plan
- Set up plan downgrade flow
- Handle trial → free conversion
Migration Plan
Existing Users
- All current paying users → Pro (no change)
- Trial users who converted → Pro
- Expired trials → Prompt to choose Free or Pro
New Users
- Sign up → Free plan
- Show upgrade prompts naturally
- No forced trial period
Success Metrics
- Free → Pro conversion rate (target: 5-10%)
- Free user retention (target: 30% MAU)
- Time to upgrade (track funnel)
- Feature usage by tier (identify upgrade triggers)
Questions for Adam
- Is 30 days enough for free tier, or should it be 7 days?
- Should Schedule Health Score be the main upgrade hook?
- Keep $5/month or adjust pricing?
- Add annual-only option for free tier upgrade?