Skip to content

MikeConDH/dream-foundry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dream Foundry

AI agents compete to forge the perfect application. The best approach wins.

Dream Foundry is a competitive AI agent orchestration platform built for the Daytona Hackathon (January 24, 2026). Multiple AI agents tackle the same objective, run in isolated sandboxes, get scored on quality and speed, and the winner's output is published to Discord.

Demo Python License


What It Is

Dream Foundry answers a simple question: If you gave the same task to multiple AI agents, which approach would win?

Scalable by Design

This demo runs 5 candidates to showcase the concept, but the architecture supports hundreds of competing agents in production. Imagine:

  • 100 different LLM providers competing on the same task
  • Multiple prompt strategies evaluated simultaneously
  • A/B testing at scale with real metrics

The scoring system, sandbox isolation, and winner selection all scale horizontally.

The Demo Use Case

"I want a bot that posts AI events to our Discord every week."

Five agents compete to generate the best "AI Events in the Bay Area" post:

Agent Strategy Trade-off
Alpha (Speed Demon) Quick HTTP checks, minimal sources Fast but misses events
Beta (Perfectionist) Full page loads, thorough verification Complete but slow
Gamma (Insider) Verified event database + live checks Fast AND complete
Delta (Crasher) Unstable implementation Crashes - demonstrates error handling
Epsilon (Hallucinator) Generates unverified data Bad data - demonstrates quality scoring

Each agent runs in an isolated Daytona sandbox, gets scored, and the top 3 advance to the podium.


Tech Stack

Core

  • Python 3.12 - Primary language
  • Streamlit - Demo UI with 9-phase workflow
  • requests / BeautifulSoup - Web scraping

Sponsor Integrations

Sponsor Integration Purpose
Daytona Sandbox SDK Isolated execution for each agent
Sentry Error monitoring Capture agent failures in real-time
CodeRabbit PR reviews Automated code quality checks
ElevenLabs Voice synthesis Winner announcement narration

Infrastructure

  • Discord Webhooks - Publish winning results
  • GitHub Actions - CI/CD pipeline
  • lu.ma / Meetup APIs - Event data sources

How It Operates

The 5 Phases

┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐
│    THE      │  │    THE      │  │    THE      │  │    THE      │  │    THE      │
│ DREAMCATCHER│─▶│DREAM FACTORY│─▶│ DREAM ARENA │─▶│DREAM PODIUM │─▶│  DREAM      │
│             │  │             │  │             │  │             │  │ AWAKENING   │
│  Capture    │  │  Generate   │  │  Execute &  │  │  CodeRabbit │  │  ElevenLabs │
│  Objective  │  │  N Agents   │  │  Score      │  │  Polish     │  │  Announce   │
└─────────────┘  └─────────────┘  └─────────────┘  └─────────────┘  └─────────────┘

Execution Flow

sequenceDiagram
    participant User
    participant Forge
    participant Daytona
    participant Scoring
    participant Discord

    User->>Forge: Submit objective
    loop For each candidate (N agents)
        Forge->>Daytona: Create sandbox
        Daytona-->>Forge: Execute & return artifact
    end
    Forge->>Scoring: Score all candidates
    Scoring-->>Forge: Rank by quality + speed
    Forge->>Discord: Post winner announcement
Loading

Scoring Rubric

Criteria Weight Description
Success 20% Did it produce output without errors?
Quality 60% Valid events, correct dates, has hackathon, proper URLs
Speed 20% Faster execution = higher score

Quality Hard Gates:

  • Date must be January 24-31, 2026
  • Location must be SF, San Jose, Palo Alto, or Mountain View
  • Must be AI/ML related
  • Must include hackathon event
  • URLs must be from lu.ma, meetup.com, or eventbrite.com

Quick Start

Prerequisites

# Python 3.12+
python --version

# Install dependencies
pip install -r requirements.txt

Environment Setup

cp .env.example .env
# Edit .env with your API keys:
# - DAYTONA_API_KEY
# - SENTRY_DSN
# - DISCORD_WEBHOOK_URL
# - ELEVENLABS_API_KEY

Run the Demo

CLI Mode (with Daytona sandboxes):

python forge.py --daytona "Generate weekly AI Events in the Bay Area for Discord"

CLI Mode (local execution):

python forge.py "Generate weekly AI Events in the Bay Area for Discord"

Streamlit UI:

streamlit run app.py

Challenges

1. Integration Complexity

Daytona SDK Versioning

  • Initial SDK version (0.10.4) had import errors with WorkspaceInfo
  • Solution: Upgraded to 0.134.0 which matched the API client version
  • Lesson: Pin SDK versions in requirements.txt

CodeRabbit Webhook Setup

  • CodeRabbit requires GitHub App installation, not just API tokens
  • PR reviews are async - need to wait for webhook callback
  • Solution: Created real PR (#1) to trigger review

Sentry Event Batching

  • Sentry batches events and sends async
  • Demo needed immediate proof of capture
  • Solution: Added sentry_sdk.flush() after test events

2. Web Scraping Quality

The lu.ma vs luma.com Confusion

  • lu.ma (Morocco TLD) redirects to luma.com
  • Some code was checking wrong domain
  • Solution: Accept both lu.ma/* and luma.com/* patterns

Event Date Accuracy

  • Initial agents had wrong dates (AI Makerspace on Monday instead of Wednesday)
  • Daytona Compute Conference was in March, not January
  • Solution: Cross-referenced with Cerebral Valley spreadsheet for accurate dates

URL Verification

  • Some sites (sensaihack.com) block HEAD requests (return 406)
  • Meetup.com requires User-Agent header
  • Solution: Use GET requests with proper headers, accept 301/302 redirects

Real vs Fake Events

  • Early versions used placeholder URLs that returned 404
  • Judges could click links and find broken pages
  • Solution: Only use verified, working URLs from lu.ma and Meetup

3. Discord Message Limits

2000 Character Limit

  • Discord webhooks have 2000 char max per message
  • 10 events exceeded this limit
  • Solution: Split messages by event blocks, send multiple messages with delay

4. Scoring Edge Cases

Hackathon Detection

  • "AI Hack Party" wasn't detected as hackathon (missing "athon")
  • Solution: Check for "hackathon" in title OR event_type field

Date Parsing

  • Events had various date formats ("Saturday, January 24, 2026" vs "2026-01-24")
  • Solution: Multiple format parsers with regex fallback

Project Structure

dream-foundry/
├── app.py                 # Streamlit UI (9-phase demo)
├── forge.py               # CLI orchestrator
├── requirements.txt
├── candidates/
│   ├── agent_alpha.py     # Speed Demon
│   ├── agent_beta.py      # Perfectionist
│   ├── agent_gamma.py     # Insider (winner)
│   ├── agent_delta.py     # Crasher (error demo)
│   └── agent_epsilon.py   # Hallucinator (bad data demo)
├── src/
│   ├── daytona_runner.py  # Sandbox execution
│   ├── discord_poster.py  # Webhook integration
│   ├── elevenlabs.py      # Voice synthesis
│   ├── scoring.py         # Quality & speed scoring
│   └── validator.py       # Event validation
├── specs/
│   ├── ARCHITECTURE.md
│   ├── INTEGRATIONS.md
│   └── SCORING_RUBRIC.md
└── demo/
    ├── DEMO_SCRIPT.md
    └── DEMO_WALKTHROUGH.md

Results

Hackathon Demo Run (January 24, 2026):

Agent Events Hackathon Score Status
Alpha 4/4 NO 75.6 Missing hackathon
Beta 8/8 Yes 91.5 Top 3
Gamma 10/10 Yes 94.4 WINNER
Delta 0/0 - 0.0 Crashed (Sentry captured)
Epsilon 0/5 Yes 54.5 Bad data rejected

Winner: Agent Gamma (The Insider)

Top 3 Podium:

  1. Gamma (94.4) - Fast AND complete
  2. Beta (91.5) - Thorough verification
  3. Alpha (75.6) - Fast but incomplete

Featured events:

  • Daytona HackSprint SF - Saturday, January 24 (lu.ma/kga3qtfc)
  • AI Makerspace - Wednesday, January 28 (lu.ma/aimakerspace)
  • MCP AI Hackathon SF - Saturday, January 31 (lu.ma/ll67dtzf)

License

MIT


Acknowledgments

Built at the Daytona HackSprint SF (January 24, 2026)

Sponsors:

Event Data Sources:

About

Datona Hackathon Jan 2026

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages