Files
FrenoCorp/marketing/beta-signup-deployment-log.md

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
  • Database: Uses existing waitlist_signups table

    • Status: beta-pending for review queue
    • Metadata JSON field stores all beta-specific data
    • Event logging in waitlist_events table

Integration

  • Hook: useBetaSignup() in /src/lib/api/trpc-hooks.ts
  • Route: Added /beta to app router in /src/routes.tsx
  • Router: Registered beta router 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

  1. /src/routes/beta/BetaSignup.tsx - Form component
  2. /src/styles/beta-signup.css - Form styles
  3. /server/trpc/beta-router.ts - API router

Modified

  1. /src/routes.tsx - Added /beta route
  2. /src/lib/api/trpc-hooks.ts - Added useBetaSignup hook
  3. /server/trpc/index.ts - Registered beta router
  4. /marketing/beta-signup-form.md - Updated status to deployed
  5. /plans/FRE-647-beta-program-setup.md - Updated progress

Next Actions

Immediate (CMO)

  1. Drive traffic to /beta:

    • Send Priority 1 influencer emails (5 contacts)
    • Post to Reddit r/Screenwriting
    • Twitter/X campaign
    • Email waitlist conversions
  2. Review applications daily:

    • Check waitlist_signups where status = 'beta-pending'
    • Qualify based on criteria
    • Send acceptance emails within 48 hours
    • Track Discord invites

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 type
  • scriptsWritten - Experience level
  • hoursPerWeek - Time commitment
  • willingFeedback - Must be "Yes, absolutely"
  • joinDiscord - Community participation
  • excitedFeatures - Feature interests

Deployment completed by: CMO
Time: 2026-04-26 08:15 AM
Build: Successful
Status: Ready for production traffic