What You’ll Build
You’ll run a complete Dream Foundry workflow where 5 AI agents compete to generate a weekly “AI Events in the Bay Area” Discord post. The agents use different strategies (speed vs. quality vs. insider knowledge), and the best implementation wins.The Demo Scenario: Multiple agents scrape AI/ML events from lu.ma and Meetup.com, get scored on quality, speed, and reliability, and the winner’s output gets published to Discord.
Prerequisites
Before you begin, ensure you have:- Python 3.12+ installed
- Basic familiarity with command line
- (Optional) API keys for advanced features:
DAYTONA_API_KEY- For isolated sandbox executionSENTRY_DSN- For error monitoringDISCORD_WEBHOOK_URL- For publishing resultsELEVENLABS_API_KEY- For winner announcement narration
Installation
Install dependencies
streamlit- Demo UIbeautifulsoup4,selenium,requests- Web scrapingsentry-sdk- Error monitoringpython-dotenv- Environment management
Your First Forge Run
Option 1: CLI Mode (Recommended for First Run)
Run the forge with the default objective:What Happens During Execution
You’ll see a 5-phase workflow in your terminal:Scoring
- Success (20%): Did it produce output without errors?
- Quality (60%): Valid events, correct dates (Jan 24-31, 2026), hackathon included, proper URLs
- Speed (20%): Faster execution = higher score
Inspect the Results
View the winning output:Example Output
Option 2: Streamlit UI (Interactive Demo)
For a visual, 9-phase interactive demo:http://localhost:8501 with:
- The Dreamcatcher - Input your objective
- The Dream Factory - View candidate strategies
- The Arena - Watch agents compete in real-time
- Arena Results - See the scoreboard
- Forge Runoff - Polish - CodeRabbit improvements (simulated)
- Forge Runoff - Retest - Re-run with polished code
- The Podium - Final winner announcement
- Showcase - ElevenLabs narration + Discord publishing
The Streamlit UI includes simulated CodeRabbit and ElevenLabs features for demonstration purposes. The CLI mode (
forge.py) runs the actual competitive scoring system.Understanding the Candidates
Each agent uses a different strategy:Agent Alpha
The Speed DemonFast HTTP scraping with BeautifulSoup. Can’t handle JavaScript-rendered content.
- ⚡ ~4-5s execution
- ❌ Misses JS pages
Agent Beta
The PerfectionistUses Selenium for full page loads. Sees everything a human would.
- ✅ Handles JS
- 🐌 ~25-30s execution
Agent Gamma
The Insider (Usually Wins)Uses verified event database + direct API calls. Fast and reliable.
- ⚡ ~3s execution
- ✅ 10/10 quality
Agent Delta
The CrasherIntentionally unstable to demonstrate Sentry error monitoring.
- ❌ Crashes frequently
- 📊 Errors captured by Sentry
Agent Epsilon
The HallucinatorGenerates plausible but unverified data. Fast but unreliable.
- ⚡ Very fast
- ❌ 0/5 valid events
Next Steps
Full Installation
Set up all API keys for Daytona sandboxes, Sentry monitoring, and Discord publishing
Architecture
Learn how the 5-phase Dream Foundry pipeline works
Scoring System
Understand how candidates are scored on success, quality, and speed
Custom Agents
Build your own competing agent implementations
Troubleshooting
ImportError: No module named 'dotenv'
ImportError: No module named 'dotenv'
Make sure you installed dependencies:
All candidates show 'FAIL'
All candidates show 'FAIL'
This usually means a network issue or rate limiting. Check:
- Internet connection
- Firewall settings
- Rate limits on lu.ma/Meetup (wait 5 minutes and retry)
Sentry errors not showing
Sentry errors not showing
Sentry batches events asynchronously. The forge includes
sentry_sdk.flush() to force immediate sending. Verify your SENTRY_DSN in .env.Daytona sandboxes failing
Daytona sandboxes failing
Ensure:
DAYTONA_API_KEYis set in.env- You have an active Daytona account
- Network allows connections to Daytona API
--daytona flag to run locally