Before you start testing, make sure you've completed:
- Project built successfully (
npm run build- COMPLETED ✅) - All dependencies installed
- Environment variables configured in
.env.local - Google Sheets database set up (see GOOGLE_SHEETS_SETUP.md)
- Google Drive folder created and shared
This is critical - the app won't work without it!
Follow the detailed guide in GOOGLE_SHEETS_SETUP.md:
- Create spreadsheet: "AI Script Maker Database"
- Create 3 sheets (tabs):
Documents,Chunks,AudioOutputs - Add column headers to each sheet (copy-paste from guide)
- Share with Service Account email
- Verify Spreadsheet ID is in
.env.local
- Go to Google Drive
- Create new folder: "AI Script Maker Files"
- Right-click → Share
- Add your Service Account email (from
.env.local) - Set permission to Editor
- Copy folder ID from URL and verify it's in
.env.local
npm run devExpected output:
▲ Next.js 16.0.10 (Turbopack)
- Local: http://localhost:3000
✓ Ready in 2.5s
npm run workersExpected output:
============================================================
AI Script Maker - Background Workers
============================================================
All workers started successfully!
Listening for jobs on the following queues:
- document-processing (Content Worker)
- script-generation (Script Worker)
- audio-generation (Audio Worker)
============================================================
[Content Worker] Started and listening for jobs...
[Script Worker] Started and listening for jobs...
[Audio Worker] Started and listening for jobs...
- Open http://localhost:3000 in your browser
- Make sure you're on the "Paste Text" tab
- Enter a title:
Test Newsletter Q4 2024 - Paste this sample text:
PRODUCT UPDATES - Q4 2024
PLANNED RELEASES
New Dashboard Feature
We're planning to release a new analytics dashboard next month with real-time metrics and customizable widgets.
Mobile App Update
The mobile app will receive a major update including dark mode and offline support.
TECH RELEASES
API v2.0 Released
We've released version 2.0 of our REST API with improved performance and new endpoints for data export.
Integration Updates
Enhanced integrations with Slack, Teams, and Discord for better collaboration.
BUGS & FIXES
Login Issue Fixed
Fixed a bug where users were occasionally logged out after 10 minutes of inactivity.
Search Performance
Improved search performance by 50% through database indexing.
Dashboard Loading
Resolved slow loading times on the main dashboard by optimizing database queries.
- Click "Create Audio Script"
- You should be redirected to the processing page
Processing Page:
- Real-time progress bar updating every 2 seconds
- Milestone indicators lighting up as work progresses:
- 📝 Organizing content (0-30%)
- ✍️ Generating script (30-60%)
- 🎙️ Converting to audio (60-90%)
- 🔗 Stitching audio (90-100%)
Terminal 2 (Workers) Output:
[Content Worker] Processing document: [document-id]
[Content Worker] Using pasted text (XXX characters)
[Content Worker] Created X chunks
[Content Worker] Document [document-id] processed successfully
[Script Worker] Generating script for document: [document-id]
[Script Worker] Found X chunks
[Script Worker] Calling OpenAI GPT-4o mini...
[Script Worker] Generated script (XXX characters)
[Audio Worker] Generating audio for document: [document-id]
[Audio Worker] Script length: XXX characters
Generating X audio chunks...
[Audio Worker] Audio stitched successfully
[Audio Worker] Uploaded to Drive: [URL]
When Complete:
- ✅ Success message appears
- 🎵 Audio player loads with playback controls
- 📥 Download button appears
- 📄 View Script button shows generated narrative
- Create a simple
.docxfile with similar content - Go back to http://localhost:3000
- Switch to "Upload DOCX" tab
- Enter title and upload file
- Monitor processing (same as Test 1)
Open your spreadsheet and watch data appear in real-time:
Documents Sheet:
- New row appears with document info
statuscolumn updates:queued→organizing→generating_script→generating_audio→stitching→completeprogress_percentageincreases from 0 to 100
Chunks Sheet:
- Multiple rows appear with content sections
AudioOutputs Sheet:
- Final row appears with script and audio URL
- Check your folder - final MP3 file should appear
A successful test includes:
- Text successfully submitted
- Progress updates work in real-time
- Workers process job without errors
- Google Sheets data appears correctly
- Audio file appears in Google Drive
- Audio player loads and plays audio
- Download button works
- Generated script is visible
Possible causes:
- Google Sheets not set up correctly
- Spreadsheet ID incorrect in
.env.local - Spreadsheet not shared with Service Account
Solution:
# Verify spreadsheet ID
grep GOOGLE_SPREADSHEET_ID .env.local
# Check service account email
grep GOOGLE_SERVICE_ACCOUNT_EMAIL .env.localPossible causes:
- Redis connection failed
- Workers not running
Solution:
# Check workers terminal for errors
# Look for "Started and listening for jobs..."
# Test Redis connection
grep REDIS_URL .env.localPossible causes:
- Service Account doesn't have access
- APIs not enabled in Google Cloud
Solution:
- Verify spreadsheet is shared with Service Account email
- Verify Drive folder is shared with Service Account email
- Check Google Cloud Console - APIs enabled
Possible causes:
- ElevenLabs API key invalid
- Voice ID incorrect
Solution:
# Verify ElevenLabs credentials
grep ELEVENLABS_API_KEY .env.local
grep ELEVENLABS_VOICE_ID .env.localPossible causes:
tempdirectory doesn't exist- Permission issues
Solution:
# Create temp directory
mkdir -p temp
chmod 755 tempFor the sample newsletter (≈600 words):
- Total processing time: 2-5 minutes
- Content Worker: 10-20 seconds
- Script Worker: 20-40 seconds (OpenAI)
- Audio Worker: 1-3 minutes (ElevenLabs + FFmpeg)
For larger documents (70 pages):
- Total processing time: 10-15 minutes
- Try with your own newsletter content
- Test with a real DOCX file
- Verify audio quality and voice
- Check if script accurately represents the newsletter
- Test error scenarios (invalid file, empty content)
- Test 1: Paste text - Success
- Test 2: Upload DOCX - Success
- Progress updates work correctly
- Audio playback works
- Download works
- Script view works
- Error handling works (test with empty text)
- Google Sheets data is correct
- Google Drive file is accessible
Once all tests pass, you're ready to:
- Deploy to Vercel (frontend)
- Deploy to Railway (workers)
- Set up production monitoring
- Share with users!
Need Help? Check:
- README.md - Full documentation
- GOOGLE_SHEETS_SETUP.md - Sheets configuration
- SETUP_CHECKLIST.md - Pre-flight checks
- CLAUDE.md - Architecture details