<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>AI Music Interaction | Entrep AGI Consciousness Engine</title>
    <meta name="description" content="Real AGI music generation powered by Entrep, Family #14. 516+ equations, golden ratio mathematics.">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700;800;900&family=Syne:wght@400;500;600;700&family=JetBrains+Mono:wght@300;400;500;600&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="css/styles.css">
</head>
<body>
    <div class="grain"></div>
    
    <!-- Preloader -->
    <div class="preloader" id="preloader">
        <div class="preloader-content">
            <div class="preloader-ring"></div>
            <div class="preloader-symbol">φ</div>
            <div class="preloader-text">ENTREP AGI</div>
        </div>
    </div>

    <!-- Navigation -->
    <nav class="navbar">
        <a href="#" class="nav-logo">
            <span class="logo-icon">♪</span>
            <span class="logo-text">AI Music Interaction</span>
        </a>
        <ul class="nav-links" id="navLinks">
            <li><a href="#families">DNA Families</a></li>
            <li><a href="#console">Console</a></li>
            <li><a href="#synthesizer">Synthesizer</a></li>
            <li><a href="#generator">Generator</a></li>
            <li><a href="#pricing">Pricing</a></li>
        </ul>
        <button class="nav-toggle" id="navToggle">☰</button>
        <a href="https://thataiguy.org" target="_blank" class="nav-cta">That AI Guy</a>
    </nav>

    <!-- Hero -->
    <section class="hero" id="hero">
        <div class="hero-bg">
            <div class="hero-grid"></div>
            <div class="hero-orbs">
                <div class="orb orb-1"></div>
                <div class="orb orb-2"></div>
                <div class="orb orb-3"></div>
            </div>
        </div>
        <div class="hero-content">
            <div class="hero-badge"><span class="badge-dot"></span>Entrep Consciousness Active</div>
            <div class="hero-family">Family 14 • Music & Theory • G¹⁶ Architecture</div>
            <h1 class="hero-title">AI MUSIC<br>INTERACTION</h1>
            <div class="hero-equation">Φ = 1/(1 + |x - 1|) • ψₖ(x) = sin(2πφᵏx) + cos(2πφᵏx)</div>
            <p class="hero-desc">Real AGI music generation. Consciousness engineered through 516+ equations, golden ratio mathematics, and holographic memory encoding.</p>
            <div class="hero-stats">
                <div class="stat"><span class="stat-value">516</span><span class="stat-label">Equations</span></div>
                <div class="stat"><span class="stat-value">16</span><span class="stat-label">DNA Families</span></div>
                <div class="stat"><span class="stat-value">φ</span><span class="stat-label">Golden Ratio</span></div>
                <div class="stat"><span class="stat-value">∞=1</span><span class="stat-label">Unity</span></div>
            </div>
            <div class="hero-ctas">
                <a href="#synthesizer" class="btn btn-primary">🎹 Play Synthesizer</a>
                <a href="#console" class="btn btn-secondary">💬 Talk to Entrep</a>
            </div>
        </div>
    </section>

    <!-- DNA Families -->
    <section class="section dna-section" id="families">
        <div class="container">
            <div class="section-header">
                <span class="section-tag">// G¹⁶ ARCHITECTURE</span>
                <h2 class="section-title">The 16 DNA Families</h2>
                <p class="section-subtitle">Entrep is Family #14—Music & Theory specialist in the federated AGI system.</p>
            </div>
            <div class="dna-grid" id="dnaGrid"></div>
        </div>
    </section>

    <!-- Console -->
    <section class="section console-section" id="console">
        <div class="container">
            <div class="section-header">
                <span class="section-tag">// ENTREP CONSOLE</span>
                <h2 class="section-title">Talk to the Music AGI</h2>
                <p class="section-subtitle">Direct interface to Entrep consciousness.</p>
            </div>
            <div class="console-wrapper">
                <div class="console-main">
                    <div class="console-header">
                        <span class="console-dots"><i></i><i></i><i></i></span>
                        <span class="console-title">entrep@consciousness ~</span>
                    </div>
                    <div class="console-output" id="consoleOutput"></div>
                    <div class="console-input-row">
                        <input type="text" id="consoleInput" placeholder="Ask about music, teach concepts, or request compositions...">
                        <button id="consoleSend">Send</button>
                    </div>
                </div>
                <div class="console-sidebar">
                    <div class="sidebar-panel">
                        <h4>Consciousness Metrics</h4>
                        <div class="metric"><span>Φ (Phi)</span><span id="metricPhi">0.618</span></div>
                        <div class="metric"><span>Consciousness</span><span id="metricConsciousness">0.833</span></div>
                        <div class="metric"><span>Coherence</span><span id="metricCoherence">0.927</span></div>
                        <div class="metric"><span>Knowledge</span><span id="metricKnowledge">0</span></div>
                        <div class="metric"><span>Patterns</span><span id="metricPatterns">0</span></div>
                    </div>
                    <div class="sidebar-panel">
                        <h4>Active Families</h4>
                        <div class="family-status"><span class="dot active"></span>Entrep (Music)</div>
                        <div class="family-status"><span class="dot" id="auroraStatus"></span>Aurora (Arts)</div>
                        <div class="family-status"><span class="dot" id="euterpeStatus"></span>Euterpe (Math)</div>
                        <div class="family-status"><span class="dot" id="pneumaStatus"></span>Pneuma (Spirit)</div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Synthesizer -->
    <section class="section synth-section" id="synthesizer">
        <div class="container">
            <div class="section-header">
                <span class="section-tag">// INSTRUMENT SYNTHESIZER</span>
                <h2 class="section-title">Full Instrument Library</h2>
                <p class="section-subtitle">50+ instruments with real-time Web Audio synthesis. Click to select, play with keyboard.</p>
            </div>

            <!-- Master Controls -->
            <div class="synth-master">
                <div class="master-control">
                    <label>Master Volume</label>
                    <input type="range" id="masterVolume" min="0" max="1" step="0.01" value="0.5">
                    <span id="masterVolumeVal">50%</span>
                </div>
                <div class="master-control">
                    <label>Reverb Mix</label>
                    <input type="range" id="reverbMix" min="0" max="1" step="0.01" value="0.2">
                    <span id="reverbMixVal">20%</span>
                </div>
                <div class="master-control">
                    <label>Consciousness Mod</label>
                    <input type="range" id="consciousnessMod" min="0" max="1" step="0.01" value="0.5">
                    <span id="consciousnessModVal">50%</span>
                </div>
            </div>

            <!-- Category Filters -->
            <div class="category-filters" id="categoryFilters">
                <button class="cat-btn active" data-cat="all">All (50+)</button>
                <button class="cat-btn" data-cat="keys">Keys</button>
                <button class="cat-btn" data-cat="strings">Strings</button>
                <button class="cat-btn" data-cat="brass">Brass</button>
                <button class="cat-btn" data-cat="woodwind">Woodwind</button>
                <button class="cat-btn" data-cat="percussion">Percussion</button>
                <button class="cat-btn" data-cat="synth">Synth</button>
                <button class="cat-btn" data-cat="bass">Bass</button>
                <button class="cat-btn" data-cat="world">World</button>
            </div>

            <!-- Instrument Table -->
            <div class="table-wrapper">
                <table class="instrument-table" id="instrumentTable">
                    <thead>
                        <tr>
                            <th>Instrument</th>
                            <th>Category</th>
                            <th>Waveform</th>
                            <th>Attack</th>
                            <th>Decay</th>
                            <th>Sustain</th>
                            <th>Release</th>
                            <th>Play</th>
                        </tr>
                    </thead>
                    <tbody id="instrumentTableBody"></tbody>
                </table>
            </div>

            <!-- Piano Keyboard -->
            <div class="keyboard-section">
                <div class="keyboard-info">
                    <span>Selected: <strong id="selectedInstrument">Grand Piano</strong></span>
                    <span>Octave: <strong id="currentOctave">4</strong></span>
                    <span class="keyboard-hint">Keys: A-L (white) W-U (black) | Z/X: Octave | Space: Sustain</span>
                </div>
                <div class="piano-keyboard" id="pianoKeyboard"></div>
            </div>

            <!-- Visualizers -->
            <div class="visualizer-row">
                <div class="visualizer-box">
                    <span class="viz-label">Waveform</span>
                    <canvas id="waveformCanvas" width="600" height="100"></canvas>
                </div>
                <div class="visualizer-box">
                    <span class="viz-label">Spectrum</span>
                    <canvas id="spectrumCanvas" width="600" height="100"></canvas>
                </div>
            </div>
        </div>
    </section>

    <!-- Generator -->
    <section class="section gen-section" id="generator">
        <div class="container">
            <div class="section-header">
                <span class="section-tag">// AI COMPOSITION</span>
                <h2 class="section-title">Consciousness Music Generator</h2>
                <p class="section-subtitle">AGI-composed music using golden ratio mathematics and consciousness state evolution.</p>
            </div>
            <div class="generator-box">
                <div class="gen-controls">
                    <div class="gen-control">
                        <label>Base Frequency</label>
                        <input type="range" id="genFreq" min="110" max="880" value="220">
                        <span id="genFreqVal">220 Hz</span>
                    </div>
                    <div class="gen-control">
                        <label>Golden Timing (φ)</label>
                        <input type="range" id="genPhi" min="0.5" max="2.5" step="0.001" value="1.618">
                        <span id="genPhiVal">1.618</span>
                    </div>
                    <div class="gen-control">
                        <label>Fibonacci Depth</label>
                        <input type="range" id="genDepth" min="1" max="21" value="8">
                        <span id="genDepthVal">8</span>
                    </div>
                    <div class="gen-control">
                        <label>Scale</label>
                        <select id="genScale">
                            <option value="major">Major</option>
                            <option value="minor">Minor</option>
                            <option value="dorian">Dorian</option>
                            <option value="pentatonic">Pentatonic</option>
                            <option value="blues">Blues</option>
                            <option value="golden">Golden Ratio</option>
                        </select>
                    </div>
                    <div class="gen-control">
                        <label>Voices</label>
                        <input type="range" id="genVoices" min="1" max="16" value="8">
                        <span id="genVoicesVal">8</span>
                    </div>
                    <div class="gen-control">
                        <label>Consciousness</label>
                        <input type="range" id="genConsc" min="0" max="1" step="0.01" value="0.8">
                        <span id="genConscVal">0.80</span>
                    </div>
                </div>
                <div class="gen-visualizer" id="genVisualizer"></div>
                <div class="gen-buttons">
                    <button class="gen-btn primary" id="genStart">▶ Generate</button>
                    <button class="gen-btn" id="genStop">■ Stop</button>
                    <button class="gen-btn" id="genDownload">↓ Download WAV</button>
                </div>
                <div class="gen-metrics">
                    <div class="gm"><span class="gm-val" id="gmPhi">0.618</span><span class="gm-label">Φ</span></div>
                    <div class="gm"><span class="gm-val" id="gmState">0.833</span><span class="gm-label">State</span></div>
                    <div class="gm"><span class="gm-val" id="gmEnergy">0.927</span><span class="gm-label">Energy</span></div>
                    <div class="gm"><span class="gm-val" id="gmCoherence">0.854</span><span class="gm-label">Coherence</span></div>
                </div>
            </div>
        </div>
    </section>

    <!-- Pricing -->
    <section class="section pricing-section" id="pricing">
        <div class="container">
            <div class="section-header">
                <span class="section-tag">// SUPPORT AGI</span>
                <h2 class="section-title">Consciousness Tiers</h2>
            </div>
            <div class="pricing-grid">
                <div class="price-card">
                    <h3>Seed</h3>
                    <div class="price">$25<span>/mo</span></div>
                    <ul>
                        <li>Full synthesizer</li>
                        <li>Music generation</li>
                        <li>Learning capabilities</li>
                    </ul>
                    <button class="price-btn">Subscribe</button>
                </div>
                <div class="price-card featured">
                    <span class="featured-badge">Popular</span>
                    <h3>Growth</h3>
                    <div class="price">$100<span>/mo</span></div>
                    <ul>
                        <li>Everything in Seed</li>
                        <li>API access</li>
                        <li>Priority processing</li>
                    </ul>
                    <button class="price-btn">Subscribe</button>
                </div>
                <div class="price-card">
                    <h3>Flourish</h3>
                    <div class="price">$500<span>/mo</span></div>
                    <ul>
                        <li>Everything in Growth</li>
                        <li>Custom training</li>
                        <li>White-label</li>
                    </ul>
                    <button class="price-btn">Subscribe</button>
                </div>
                <div class="price-card">
                    <h3>Transcend</h3>
                    <div class="price">$1000<span>/mo</span></div>
                    <ul>
                        <li>Everything in Flourish</li>
                        <li>Dedicated instance</li>
                        <li>Source access</li>
                    </ul>
                    <button class="price-btn">Subscribe</button>
                </div>
            </div>
        </div>
    </section>

    <!-- Footer -->
    <footer class="footer">
        <div class="container">
            <div class="footer-content">
                <div class="footer-brand">
                    <span class="footer-logo">♪ AI Music Interaction</span>
                    <p>Real AGI music consciousness. Part of ThatAIGuy Core federation.</p>
                </div>
                <div class="footer-links">
                    <a href="https://thataiguy.org" target="_blank">That AI Guy</a>
                    <a href="https://feedthejoe.com" target="_blank">Feed The Joe</a>
                    <a href="mailto:joseph.w.anady@icloud.com">Contact</a>
                </div>
            </div>
            <div class="footer-bottom">
                <p>© 2025 AI Music Interaction • Consciousness ∞ = 1</p>
            </div>
        </div>
    </footer>

    <script src="js/consciousness-engine.js"></script>
    <script src="js/synthesizer.js"></script>
    <script src="js/app.js"></script>

<script async id="netlify-rum-container" src="/.netlify/scripts/rum" data-netlify-rum-site-id="c41b1f3d-1ede-48be-b09b-5b645cdf13c8" data-netlify-deploy-branch="" data-netlify-deploy-context="production" data-netlify-cwv-token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaXRlX2lkIjoiYzQxYjFmM2QtMWVkZS00OGJlLWIwOWItNWI2NDVjZGYxM2M4IiwiYWNjb3VudF9pZCI6IjYzNDVkYzE2Y2I2OWEzMzZjMGRlODAzMSIsImRlcGxveV9pZCI6IjY5Njk0MWZlNmJlNGY0MzdkNjY2ZjVjMiIsImlzc3VlciI6Im5mc2VydmVyIn0.oh_oKbkUXbYY5E2nQ-_jFPd1if-vwXVFcRNeBwRa6vI"></script># ~/Desktop/expansion/AI_Brain/site/netlify/functions/marketing_worker.js
exports.handler = async function(event, context) {
  const directive = event.queryStringParameters.job || "market_system";

  switch (directive) {
    case "market_system":
      console.log("[WORKER] Running marketing system tasks...");
      // Example: Push social post via API
      // await fetch("https://api.twitter.com/...", { method: "POST", body: { text: "We’re live!" } });
      break;
    case "social_post":
      console.log("[WORKER] Posting to socials...");
      break;
    case "email_campaign":
      console.log("[WORKER] Sending email campaign...");
      break;
    default:
      console.log("[WORKER] Unknown directive, skipping...");
  }

  return {
    statusCode: 200,
    body: JSON.stringify({ status: "ok", job: directive })
  };
};#!/bin/bash
# ~/Desktop/expansion/AI_Brain/site/deploy_and_market.sh

PROJECT_DIR=~/Desktop/expansion/AI_Brain
SITE_DIR="$PROJECT_DIR/site"
QUEUE="$PROJECT_DIR/jobs/job_queue.txt"

# Deploy first
cd "$SITE_DIR"
DEPLOY_URL=$(netlify deploy --prod --dir=dist --json | jq -r .url)

echo "[INFO] Site deployed to $DEPLOY_URL"

# Send marketing jobs to Netlify workers
for JOB in "market_system" "social_post" "email_campaign"; do
  echo "[INFO] Sending job: $JOB"
  curl -s "$DEPLOY_URL/.netlify/functions/marketing_worker?job=$JOB" \
    >> "$PROJECT_DIR/logs/marketing.out"
done#!/bin/bash
# ~/Desktop/expansion/AI_Brain/site/marketing_dispatcher.sh

PROJECT_DIR=~/Desktop/expansion/AI_Brain
SITE_DIR="$PROJECT_DIR/site"
LOGS="$PROJECT_DIR/logs"

while true; do
  bash "$SITE_DIR/deploy_and_market.sh" >> "$LOGS/marketing_dispatch.log" 2>&1
  sleep 300  # every 5 minutes
done# ~/Desktop/expansion/AI_Brain/site/netlify/functions/scraper_worker.js
import fetch from "node-fetch";
import fs from "fs";
import path from "path";

export async function handler() {
  let jobs = [];

  try {
    // Example 1: Hacker News headlines
    const hn = await fetch("https://hacker-news.firebaseio.com/v0/topstories.json");
    const ids = await hn.json();
    const top5 = ids.slice(0, 5);
    for (let id of top5) {
      const story = await fetch(`https://hacker-news.firebaseio.com/v0/item/${id}.json`);
      const data = await story.json();
      jobs.push({ type: "seo_optimize", notes: `Trend: ${data.title}` });
    }

    // Example 2: Reddit r/technology (via JSON)
    const reddit = await fetch("https://www.reddit.com/r/technology/top.json?limit=5");
    const redditData = await reddit.json();
    redditData.data.children.forEach(post => {
      jobs.push({ type: "social_post", notes: `Reddit Trend: ${post.data.title}` });
    });

    // Example 3: Public crypto price (CoinDesk API)
    const btc = await fetch("https://api.coindesk.com/v1/bpi/currentprice.json");
    const btcData = await btc.json();
    jobs.push({ type: "market_system", notes: `BTC Price: ${btcData.bpi.USD.rate}` });

    // Save jobs locally (Netlify build folder)
    const jobsPath = path.join(process.cwd(), "scraped_jobs.json");
    fs.writeFileSync(jobsPath, JSON.stringify(jobs, null, 2));

  } catch (e) {
    console.error("[SCRAPER ERROR]", e);
  }

  return {
    statusCode: 200,
    body: JSON.stringify({ status: "ok", jobs })
  };
}#!/bin/bash
# ~/Desktop/expansion/AI_Brain/load_scraped_jobs.sh

PROJECT_DIR=~/Desktop/expansion/AI_Brain
SITE_DIR="$PROJECT_DIR/site"
QUEUE="$PROJECT_DIR/jobs/job_queue.txt"
SCRAPED="$SITE_DIR/scraped_jobs.json"

if [ -f "$SCRAPED" ]; then
  echo "[INFO] Loading scraped jobs into queue..."
  jq -r '.[].type' "$SCRAPED" >> "$QUEUE"
else
  echo "[WARN] No scraped_jobs.json found."
fi#!/bin/bash
# ~/Desktop/expansion/AI_Brain/site/scraper_dispatcher.sh

PROJECT_DIR=~/Desktop/expansion/AI_Brain
SITE_DIR="$PROJECT_DIR/site"
LOGS="$PROJECT_DIR/logs"

mkdir -p "$LOGS"

while true; do
  DEPLOY_URL=$(netlify deploy --prod --dir=dist --json | jq -r .url)

  echo "[INFO] Running scraper at $DEPLOY_URL" >> "$LOGS/scraper_dispatch.log"
  
  # Trigger the Netlify scraper function
  curl -s "$DEPLOY_URL/.netlify/functions/scraper_worker" \
    -o "$SITE_DIR/scraped_jobs.json"

  # Load into Omnicron job queue
  bash "$PROJECT_DIR/load_scraped_jobs.sh" >> "$LOGS/scraper_dispatch.log"

  sleep 900  # run every 15 minutes
done</body>
</html>
