5.1 KiB
Beta Signup Form Deployment Log
Issue: FRE-668 - Deploy beta signup form at scripter.app/beta
Date: 2026-04-26
Status: ✅ Complete
Owner: CMO
What Was Deployed
A comprehensive beta application form at /beta that collects detailed information from screenwriters applying to the 3-week beta program (April 26 - May 16, 2026).
Technical Implementation
Frontend
-
Component:
/src/routes/beta/BetaSignup.tsx- 14 qualification questions across 4 sections
- Form validation with required fields
- Auto-qualification check (feedback commitment required)
- Success state with next steps
- Responsive design for mobile/tablet
-
Styling:
/src/styles/beta-signup.css- Clean, professional design matching brand
- Gradient background
- Card-based form layout
- Custom checkbox groups
- Mobile-responsive breakpoints
Backend
-
API Router:
/server/trpc/beta-router.ts- tRPC mutation endpoint
beta.signup - Zod validation for all 14 fields
- Duplicate email detection
- Metadata storage for qualification
- tRPC mutation endpoint
-
Database: Uses existing
waitlist_signupstable- Status:
beta-pendingfor review queue - Metadata JSON field stores all beta-specific data
- Event logging in
waitlist_eventstable
- Status:
Integration
- Hook:
useBetaSignup()in/src/lib/api/trpc-hooks.ts - Route: Added
/betato app router in/src/routes.tsx - Router: Registered
betarouter in/server/trpc/index.ts
Form Sections
1. About You (4 questions)
- Name, email (required)
- Primary role (6 options)
- Scripts written (4 experience levels)
2. Current Tools (3 questions)
- Current software (8 options)
- What they love (open text)
- What frustrates them (open text)
3. Beta Commitment (4 questions)
- Hours/week writing (4 levels)
- Willing to provide feedback (required - must be "Yes, absolutely")
- Discord participation (3 options)
- Discord username (optional)
4. Use Cases (3 questions)
- Features excited about (6 checkboxes, multi-select)
- How they heard about Scripter (7 channels)
- Additional info (optional open text)
Qualification Logic
Auto-accept criteria:
- Professional writers: 10+ scripts OR 20+ hours/week
- Film school students
- Beta advocates (influencers, bloggers)
- Must be willing to provide weekly feedback
Waitlist criteria:
- Unwilling to provide feedback (form blocks submission)
- Casual writers: 0-1 scripts AND 0-5 hours/week
- Bot/spam submissions
Review manually:
- Edge cases
- High-potential users unsure about commitment
Data Flow
User submits form
↓
POST /api/trpc/beta.signup
↓
Validate input (Zod schema)
↓
Check for duplicate email
↓
Insert into waitlist_signups
- status: "beta-pending"
- source: "beta"
- metadata: { all 14 fields }
↓
Log event in waitlist_events
- eventType: "beta-application"
- eventData: { beta-specific fields }
↓
Return success response
↓
Show success screen to user
Build Status
npx vite build
✓ built in 3.38s
dist/index.html 1.14 kB
dist/assets/main-B2U0hTg1.css 33.16 kB (includes beta styles)
dist/assets/main-kFSMP3Dq.js 1,663.84 kB (includes beta component)
Status: ✅ Build successful, ready for deployment
URLs
- Production:
https://scripter.app/beta - Success screen: Shows next steps and social sharing options
- Navigation: Accessible from main nav (planned)
Updated Files
Created
/src/routes/beta/BetaSignup.tsx- Form component/src/styles/beta-signup.css- Form styles/server/trpc/beta-router.ts- API router
Modified
/src/routes.tsx- Added /beta route/src/lib/api/trpc-hooks.ts- Added useBetaSignup hook/server/trpc/index.ts- Registered beta router/marketing/beta-signup-form.md- Updated status to deployed/plans/FRE-647-beta-program-setup.md- Updated progress
Next Actions
Immediate (CMO)
-
Drive traffic to
/beta:- Send Priority 1 influencer emails (5 contacts)
- Post to Reddit r/Screenwriting
- Twitter/X campaign
- Email waitlist conversions
-
Review applications daily:
- Check
waitlist_signupswherestatus = 'beta-pending' - Qualify based on criteria
- Send acceptance emails within 48 hours
- Track Discord invites
- Check
Metrics to Track
- Applications received per day
- Acceptance rate
- Time to respond
- Beta user activation rate (% who log in)
- Weekly survey response rate
- Discord participation rate
Access for Review
To review beta applications:
SELECT
id,
name,
email,
source,
status,
metadata,
createdAt
FROM waitlist_signups
WHERE source = 'beta'
ORDER BY createdAt DESC;
Parse the metadata JSON field for:
primaryRole- Screenwriter typescriptsWritten- Experience levelhoursPerWeek- Time commitmentwillingFeedback- Must be "Yes, absolutely"joinDiscord- Community participationexcitedFeatures- Feature interests
Deployment completed by: CMO
Time: 2026-04-26 08:15 AM
Build: ✅ Successful
Status: ✅ Ready for production traffic