FRE-709: Final cleanup - all artifacts committed
This commit is contained in:
351
plans/FRE-641-buffer-queue.md
Normal file
351
plans/FRE-641-buffer-queue.md
Normal file
@@ -0,0 +1,351 @@
|
||||
# Buffer Queue - Twitter Thread - FRE-631
|
||||
|
||||
**Created:** 2026-04-27
|
||||
**Platform:** Buffer (free tier)
|
||||
**Campaign:** Scripter Launch
|
||||
**Scheduled:** Launch day 09:00 PT
|
||||
|
||||
---
|
||||
|
||||
## Buffer Account Setup
|
||||
|
||||
### Step 1: Create Account
|
||||
1. Go to buffer.com
|
||||
2. Click "Get Started Free"
|
||||
3. Sign up with email or Google account
|
||||
4. Choose free plan (3 channels, 10 posts)
|
||||
|
||||
### Step 2: Connect Twitter
|
||||
1. Click "Add Channel"
|
||||
2. Select Twitter/X
|
||||
3. Authorize Buffer access to @scripterapp
|
||||
4. Verify profile displays correctly
|
||||
|
||||
### Step 3: Load Queue
|
||||
Copy/paste tweets below into Buffer queue.
|
||||
|
||||
---
|
||||
|
||||
## Tweet Queue (9 Tweets)
|
||||
|
||||
### Tweet 1 - Schedule: 09:00 PT
|
||||
```
|
||||
We spent 10 months building a WriterDuet killer from scratch.
|
||||
|
||||
Here's what 2M+ screenwriters hate about their current tool (and how we fixed it):
|
||||
|
||||
🧵👇
|
||||
```
|
||||
**Media:** Thread header image (1200x675px)
|
||||
**Link:** None
|
||||
|
||||
---
|
||||
|
||||
### Tweet 2 - Schedule: 09:05 PT
|
||||
```
|
||||
WriterDuet is built on Firebase + React from 2015.
|
||||
|
||||
Result:
|
||||
❌ Slow startup (Electron = 500MB+ RAM)
|
||||
❌ Clunky mobile apps
|
||||
❌ No AI features
|
||||
❌ $13.99/mo for premium
|
||||
|
||||
Screenwriters deserve better in 2026.
|
||||
```
|
||||
**Media:** None
|
||||
**Link:** None
|
||||
|
||||
---
|
||||
|
||||
### Tweet 3 - Schedule: 09:10 PT
|
||||
```
|
||||
Meet Scripter:
|
||||
|
||||
✅ Tauri + SolidJS = 50MB RAM, instant startup
|
||||
✅ Native-feeling desktop apps (macOS, Windows, Linux)
|
||||
✅ Web app + PWA
|
||||
✅ Single codebase, zero Electron tax
|
||||
|
||||
Modern stack for modern writers.
|
||||
```
|
||||
**Media:** Screenshot of app startup comparison
|
||||
**Link:** None
|
||||
|
||||
---
|
||||
|
||||
### Tweet 4 - Schedule: 09:15 PT
|
||||
```
|
||||
Built-in AI that actually helps:
|
||||
|
||||
🤖 Continuation: Stuck on a scene? AI suggests next beats
|
||||
🤖 Character analysis: Track arcs, relationships, dialogue patterns
|
||||
🤖 Format fixer: Auto-corrects screenplay formatting
|
||||
|
||||
Not a gimmick. A writing partner.
|
||||
```
|
||||
**Media:** GIF of AI continuation feature
|
||||
**Link:** None
|
||||
|
||||
---
|
||||
|
||||
### Tweet 5 - Schedule: 09:20 PT
|
||||
```
|
||||
Real-time collaboration that works:
|
||||
|
||||
✏️ Multi-user editing (like Google Docs)
|
||||
📹 Video chat built-in (no Zoom needed)
|
||||
🌳 Version branching: Explore alternate endings
|
||||
💬 Comments + mentions
|
||||
|
||||
Writers' room, anywhere.
|
||||
```
|
||||
**Media:** Screenshot of collaboration view
|
||||
**Link:** None
|
||||
|
||||
---
|
||||
|
||||
### Tweet 6 - Schedule: 09:25 PT
|
||||
```
|
||||
Our free tier vs WriterDuet:
|
||||
|
||||
Scripter Free:
|
||||
✅ Unlimited projects
|
||||
✅ All core features
|
||||
✅ Desktop + web access
|
||||
|
||||
WriterDuet Free:
|
||||
❌ 3 projects max
|
||||
❌ Limited features
|
||||
|
||||
We're not nickel-and-diming you.
|
||||
```
|
||||
**Media:** Comparison graphic
|
||||
**Link:** None
|
||||
|
||||
---
|
||||
|
||||
### Tweet 7 - Schedule: 09:30 PT
|
||||
```
|
||||
Pricing that undercuts WriterDuet by 20%:
|
||||
|
||||
Scripter Pro: $7.99/mo (vs $11.99)
|
||||
- Video chat
|
||||
- Revision tracking
|
||||
- Export to Final Draft XML
|
||||
|
||||
Scripter Premium: $10.99/mo (vs $13.99)
|
||||
- Everything + AI features
|
||||
```
|
||||
**Media:** Pricing table graphic
|
||||
**Link:** None
|
||||
|
||||
---
|
||||
|
||||
### Tweet 8 - Schedule: 09:35 PT
|
||||
```
|
||||
60 seconds to see why writers are switching:
|
||||
|
||||
[VIDEO: Screen recording showing]
|
||||
- Instant app startup
|
||||
- Clean editor UI
|
||||
- AI continuation in action
|
||||
- Real-time collaboration
|
||||
- Export options
|
||||
|
||||
Watch → [YouTube link]
|
||||
```
|
||||
**Media:** 60s demo video (square 1:1 format)
|
||||
**Link:** `https://youtube.com/watch?v=SCRIPTER?utm_source=twitter&utm_campaign=launch`
|
||||
|
||||
---
|
||||
|
||||
### Tweet 9 - Schedule: 09:40 PT
|
||||
```
|
||||
Ready to write your next script faster?
|
||||
|
||||
🎬 Try Scripter free: https://scripter.app?utm_source=twitter&utm_campaign=launch
|
||||
💬 Join our Discord: https://discord.gg/scripter?utm_source=twitter&utm_campaign=launch
|
||||
🐦 Follow for updates
|
||||
|
||||
We're giving 20% off first year to early adopters. Use code: LAUNCH20
|
||||
|
||||
Let's make screenwriting awesome again. ✍️
|
||||
```
|
||||
**Media:** Scripter logo or hero image
|
||||
**Link:** `https://scripter.app?utm_source=twitter&utm_campaign=launch`
|
||||
|
||||
---
|
||||
|
||||
## Media Attachments
|
||||
|
||||
### Required Assets (from FRE-640)
|
||||
| Tweet | Asset | Dimensions | Status |
|
||||
|-------|-------|------------|--------|
|
||||
| 1 | Thread header | 1200x675px | backlog |
|
||||
| 3 | Startup comparison | 1200x675px | backlog |
|
||||
| 4 | AI feature GIF | 600x400px | backlog |
|
||||
| 5 | Collaboration view | 1200x675px | backlog |
|
||||
| 6 | Comparison graphic | 1200x675px | backlog |
|
||||
| 7 | Pricing table | 1200x675px | backlog |
|
||||
| 8 | Demo video | 1080x1080px (1:1) | backlog (FRE-639) |
|
||||
| 9 | Hero image | 1200x675px | backlog |
|
||||
|
||||
### Backup Plan (If Graphics Not Ready)
|
||||
- Use plain text tweets without images
|
||||
- Use app screenshots as placeholders
|
||||
- Launch with text-only thread (still effective)
|
||||
|
||||
---
|
||||
|
||||
## Posting Schedule
|
||||
|
||||
### Launch Day Timeline (PT)
|
||||
| Time | Action | Tweet |
|
||||
|------|--------|-------|
|
||||
| 08:45 | Final queue review | All |
|
||||
| 09:00 | Tweet 1 goes live | Hook |
|
||||
| 09:05 | Tweet 2 auto-posts | Problem |
|
||||
| 09:10 | Tweet 3 auto-posts | Solution |
|
||||
| 09:15 | Tweet 4 auto-posts | AI feature |
|
||||
| 09:20 | Tweet 5 auto-posts | Collaboration |
|
||||
| 09:25 | Tweet 6 auto-posts | Free tier |
|
||||
| 09:30 | Tweet 7 auto-posts | Pricing |
|
||||
| 09:35 | Tweet 8 auto-posts | Demo video |
|
||||
| 09:40 | Tweet 9 auto-posts | CTA |
|
||||
| 09:45+ | Manual engagement | Replies |
|
||||
|
||||
### Buffer Free Tier Limits
|
||||
- **Max scheduled posts:** 10 at a time
|
||||
- **Our queue:** 9 tweets ✅
|
||||
- **Channels:** 3 (Twitter, Reddit, LinkedIn)
|
||||
- **Analytics:** Not included (use Twitter native)
|
||||
|
||||
---
|
||||
|
||||
## Engagement Plan (Post-Launch)
|
||||
|
||||
### First 2 Hours (Critical)
|
||||
- [ ] Respond to every reply within 15 min
|
||||
- [ ] Quote-retweet positive mentions
|
||||
- [ ] Thank users for feedback
|
||||
- [ ] Answer questions about features/pricing
|
||||
|
||||
### First 24 Hours
|
||||
- [ ] Check notifications every 2 hours
|
||||
- [ ] Share 2-3 user testimonials
|
||||
- [ ] Engage with related conversations (#Screenwriting)
|
||||
- [ ] Monitor sentiment (positive/negative ratio)
|
||||
|
||||
### Response Templates
|
||||
|
||||
**"Looks cool, trying it now!"**
|
||||
```
|
||||
Thanks! Let us know what you think. Join our Discord if you have questions:
|
||||
[U TM link]
|
||||
```
|
||||
|
||||
**"How does X compare to WriterDuet?"**
|
||||
```
|
||||
Great question! [Specific answer]. Try it free and see the difference:
|
||||
[UTM link]
|
||||
```
|
||||
|
||||
**"When will mobile app be ready?"**
|
||||
```
|
||||
Web app works great on mobile now (PWA). Native iOS/Android in development.
|
||||
What features do you need most?
|
||||
```
|
||||
|
||||
**"Can I import from Final Draft?"**
|
||||
```
|
||||
Yes! We support Fountain + Final Draft XML import/export. Direct .fdx on
|
||||
the roadmap. Most users export to PDF/XML and we handle that perfectly!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Analytics Tracking
|
||||
|
||||
### Twitter Native Analytics
|
||||
**Access:** analytics.twitter.com
|
||||
|
||||
**Metrics to Track (Day 1):**
|
||||
- Impressions per tweet
|
||||
- Engagement rate
|
||||
- Link clicks (Tweet 9)
|
||||
- Video views (Tweet 8)
|
||||
- Profile visits
|
||||
- New followers
|
||||
|
||||
**Metrics to Track (Week 1):**
|
||||
- Total impressions (target: 50K+)
|
||||
- Total link clicks (target: 2K+)
|
||||
- Video completion rate
|
||||
- Follower growth
|
||||
|
||||
### Buffer Metrics (Free Tier)
|
||||
- Post performance (clicks, likes, retweets)
|
||||
- Best time to post insights
|
||||
- Queue status
|
||||
|
||||
### Manual Tracking Spreadsheet
|
||||
Create Google Sheet:
|
||||
```
|
||||
Date | Tweet # | Impressions | Engagements | Link Clicks | Notes
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Tweet Fails to Post
|
||||
1. Check Buffer queue status
|
||||
2. Verify Twitter account is connected
|
||||
3. Re-authorize Buffer if needed
|
||||
4. Post manually as backup
|
||||
|
||||
### Wrong Time Zone
|
||||
1. Buffer uses account time zone
|
||||
2. Set to PT (Pacific Time) for launch
|
||||
3. Double-check before scheduling
|
||||
|
||||
### Media Upload Fails
|
||||
1. Check file size (<15MB for images, <512MB for video)
|
||||
2. Verify format (JPG/PNG for images, MP4 for video)
|
||||
3. Re-upload if needed
|
||||
4. Post text-only as backup
|
||||
|
||||
### Link Preview Issues
|
||||
1. Test UTM links before scheduling
|
||||
2. Use Twitter Card validator
|
||||
3. Shorten with bit.ly if preview breaks
|
||||
|
||||
---
|
||||
|
||||
## Pre-Launch Checklist
|
||||
|
||||
### 24 Hours Before
|
||||
- [ ] All 9 tweets loaded in Buffer queue
|
||||
- [ ] All media attachments uploaded
|
||||
- [ ] All links tested and working
|
||||
- [ ] Time zone set to PT
|
||||
- [ ] Queue reviewed for typos
|
||||
|
||||
### 1 Hour Before
|
||||
- [ ] Final queue verification
|
||||
- [ ] Twitter notifications enabled on phone
|
||||
- [ ] Response templates ready
|
||||
- [ ] Analytics dashboard open
|
||||
|
||||
### Launch Time (09:00 PT)
|
||||
- [ ] Tweet 1 posts successfully
|
||||
- [ ] Monitor first 3 tweets for issues
|
||||
- [ ] Begin engagement immediately
|
||||
- [ ] Track real-time metrics
|
||||
|
||||
---
|
||||
|
||||
**Status:** Ready to load (awaiting graphics from FRE-640)
|
||||
**Owner:** CMO
|
||||
**Last Updated:** 2026-04-27
|
||||
253
plans/FRE-641-utm-links.md
Normal file
253
plans/FRE-641-utm-links.md
Normal file
@@ -0,0 +1,253 @@
|
||||
# UTM Campaign Links - FRE-631
|
||||
|
||||
**Created:** 2026-04-27
|
||||
**Campaign:** Scripter Launch Week
|
||||
**Owner:** CMO
|
||||
|
||||
---
|
||||
|
||||
## Master Link List
|
||||
|
||||
Use these UTM-tagged URLs for all launch day posts and engagement.
|
||||
|
||||
### Twitter/X
|
||||
|
||||
| Destination | Full URL | Short Link |
|
||||
|-------------|----------|------------|
|
||||
| App (Homepage) | `https://scripter.app?utm_source=twitter&utm_campaign=launch` | bit.ly/scripter-tw |
|
||||
| Discord Server | `https://discord.gg/scripter?utm_source=twitter&utm_campaign=launch` | bit.ly/join-scripter |
|
||||
| YouTube Channel | `https://youtube.com/@scripter?utm_source=twitter&utm_campaign=launch` | - |
|
||||
|
||||
### Reddit
|
||||
|
||||
| Destination | Full URL | Short Link |
|
||||
|-------------|----------|------------|
|
||||
| App (Homepage) | `https://scripter.app?utm_source=reddit&utm_campaign=sideproject` | bit.ly/scripter-reddit |
|
||||
| Discord Server | `https://discord.gg/scripter?utm_source=reddit&utm_campaign=sideproject` | - |
|
||||
| GitHub Repo | `https://github.com/scripterapp/scripter?utm_source=reddit&utm_campaign=sideproject` | - |
|
||||
|
||||
### Discord
|
||||
|
||||
| Destination | Full URL | Short Link |
|
||||
|-------------|----------|------------|
|
||||
| App (Homepage) | `https://scripter.app?utm_source=discord&utm_campaign=launch` | bit.ly/scripter-dc |
|
||||
| YouTube Video | `https://youtube.com/watch?v=SCRIPTER?utm_source=discord&utm_campaign=launch` | - |
|
||||
|
||||
### YouTube
|
||||
|
||||
| Destination | Full URL | Short Link |
|
||||
|-------------|----------|------------|
|
||||
| App (Homepage) | `https://scripter.app?utm_source=youtube&utm_campaign=launch` | bit.ly/scripter-yt |
|
||||
| Discord Server | `https://discord.gg/scripter?utm_source=youtube&utm_campaign=launch` | - |
|
||||
| Twitter Profile | `https://twitter.com/scripterapp?utm_source=youtube&utm_campaign=launch` | - |
|
||||
|
||||
### Direct / Email
|
||||
|
||||
| Destination | Full URL | Short Link |
|
||||
|-------------|----------|------------|
|
||||
| App (Homepage) | `https://scripter.app?utm_source=email&utm_campaign=launch` | bit.ly/scripter-email |
|
||||
| Waitlist Signup | `https://scripter.app/waitlist?utm_source=email&utm_campaign=launch` | - |
|
||||
|
||||
---
|
||||
|
||||
## UTM Parameter Reference
|
||||
|
||||
### Standard Parameters
|
||||
|
||||
| Parameter | Value | Purpose |
|
||||
|-----------|-------|---------|
|
||||
| `utm_source` | twitter, reddit, discord, youtube, email | Traffic source |
|
||||
| `utm_medium` | social, email, video | Marketing medium |
|
||||
| `utm_campaign` | launch | Campaign identifier |
|
||||
| `utm_content` | thread, post, event, video (optional) | Content variant |
|
||||
|
||||
### Example Construction
|
||||
|
||||
```
|
||||
Base URL: https://scripter.app
|
||||
+ ?utm_source=twitter
|
||||
+ &utm_medium=social
|
||||
+ &utm_campaign=launch
|
||||
+ &utm_content=thread_tweet_1
|
||||
|
||||
Result: https://scripter.app?utm_source=twitter&utm_medium=social&utm_campaign=launch&utm_content=thread_tweet_1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Link Testing Checklist
|
||||
|
||||
### Pre-Launch (24h before)
|
||||
|
||||
- [ ] Test all links on desktop (Chrome, Firefox, Safari)
|
||||
- [ ] Test all links on mobile (iOS Safari, Android Chrome)
|
||||
- [ ] Verify UTM parameters appear in Google Analytics
|
||||
- [ ] Check redirect speed (<2 seconds)
|
||||
- [ ] Verify no 404 errors
|
||||
- [ ] Test short links resolve correctly
|
||||
|
||||
### Analytics Verification
|
||||
|
||||
- [ ] Google Analytics > Acquisition > Campaigns shows "launch"
|
||||
- [ ] Real-time tracking shows UTM source/medium
|
||||
- [ ] Conversion events fire on signup
|
||||
- [ ] No "(direct) / (none)" traffic from campaign links
|
||||
|
||||
---
|
||||
|
||||
## Bitly Setup (Optional)
|
||||
|
||||
### Account Creation
|
||||
1. Go to bitly.com
|
||||
2. Create free account (100 links/month limit)
|
||||
3. Create custom short links for each destination
|
||||
|
||||
### Custom Link Format
|
||||
```
|
||||
bit.ly/scripter-{source}
|
||||
Examples:
|
||||
- bit.ly/scripter-twitter
|
||||
- bit.ly/scripter-reddit
|
||||
- bit.ly/scripter-discord
|
||||
- bit.ly/scripter-youtube
|
||||
- bit.ly/scripter-email
|
||||
```
|
||||
|
||||
### Benefits
|
||||
- Click tracking per link
|
||||
- Clean, memorable URLs
|
||||
- QR code generation (for Discord/print)
|
||||
- Link editing without changing destination
|
||||
|
||||
---
|
||||
|
||||
## Link Usage by Platform
|
||||
|
||||
### Twitter Thread
|
||||
|
||||
| Tweet | Link |
|
||||
|-------|------|
|
||||
| Tweet 1 (Hook) | No link |
|
||||
| Tweet 2-7 (Content) | No links |
|
||||
| Tweet 8 (Demo video) | No link |
|
||||
| Tweet 9 (CTA) | `bit.ly/scripter-twitter` |
|
||||
|
||||
### Reddit Post
|
||||
|
||||
| Location | Link |
|
||||
|----------|------|
|
||||
| Main post body | `bit.ly/scripter-reddit` |
|
||||
| Comment responses | Use full UTM URL |
|
||||
| Edit updates | `bit.ly/scripter-reddit` |
|
||||
|
||||
### Discord Event
|
||||
|
||||
| Location | Link |
|
||||
|----------|------|
|
||||
| Event description | `bit.ly/scripter-discord` |
|
||||
| Pinned message | `bit.ly/scripter-discord` |
|
||||
| Discount code reveal | `bit.ly/scripter-discord` |
|
||||
|
||||
### YouTube
|
||||
|
||||
| Location | Link |
|
||||
|----------|------|
|
||||
| Video description (top) | `bit.ly/scripter-youtube` |
|
||||
| Pinned comment | `bit.ly/scripter-youtube` |
|
||||
| End screen link | `bit.ly/scripter-youtube` |
|
||||
| Channel about page | `bit.ly/scripter-youtube` |
|
||||
|
||||
---
|
||||
|
||||
## Analytics Dashboard Setup
|
||||
|
||||
### Google Analytics 4
|
||||
|
||||
**Path:** GA4 > Reports > Acquisition > User acquisition
|
||||
|
||||
**Filter:** Session campaign = "launch"
|
||||
|
||||
**Metrics to Track:**
|
||||
- Users by session source/medium
|
||||
- Engagement rate
|
||||
- Average engagement time
|
||||
- Conversions (signups)
|
||||
|
||||
### Custom Report
|
||||
|
||||
Create custom exploration:
|
||||
```
|
||||
Dimensions:
|
||||
- Session source
|
||||
- Session medium
|
||||
- Session campaign
|
||||
- Event name
|
||||
|
||||
Metrics:
|
||||
- Users
|
||||
- Engaged sessions
|
||||
- Conversions
|
||||
- Total revenue (if applicable)
|
||||
|
||||
Filter: Session campaign contains "launch"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Link Rotation Strategy
|
||||
|
||||
### A/B Testing (Optional)
|
||||
|
||||
For Twitter thread, test two CTAs:
|
||||
|
||||
**Variant A:**
|
||||
- Tweet 9: "Try Scripter free" → `&utm_content=cta_free`
|
||||
|
||||
**Variant B:**
|
||||
- Tweet 9: "Start writing now" → `&utm_content=cta_write`
|
||||
|
||||
Compare click-through rates after 24h.
|
||||
|
||||
### Content Variants
|
||||
|
||||
Track which content performs best:
|
||||
|
||||
| Content | UTM Content Value |
|
||||
|---------|-------------------|
|
||||
| Twitter thread | `thread_tweet_1` through `thread_tweet_9` |
|
||||
| Reddit post | `reddit_main` |
|
||||
| Reddit comment | `reddit_comment_{timestamp}` |
|
||||
| Discord event | `discord_event` |
|
||||
| YouTube 60s | `youtube_short` |
|
||||
| YouTube 10min | `youtube_long` |
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Links Not Tracking
|
||||
|
||||
1. Check GA4 property is correct
|
||||
2. Verify UTM syntax (no spaces, lowercase)
|
||||
3. Wait 24-48h for data processing
|
||||
4. Check Real-Time report first
|
||||
|
||||
### Short Links Not Working
|
||||
|
||||
1. Verify Bitly account is active
|
||||
2. Check destination URL is valid
|
||||
3. Test without shortener (use full UTM URL)
|
||||
4. Contact Bitly support if needed
|
||||
|
||||
### Analytics Discrepancies
|
||||
|
||||
- Platform analytics (Twitter, YouTube) vs GA4 will differ
|
||||
- Platform counts clicks, GA4 counts sessions
|
||||
- Ad blockers affect GA4 tracking
|
||||
- Use platform analytics for engagement, GA4 for conversions
|
||||
|
||||
---
|
||||
|
||||
**Status:** Ready for launch
|
||||
**Last Updated:** 2026-04-27
|
||||
**Next Review:** Launch day + 7 days
|
||||
Reference in New Issue
Block a user