# Analyze User Request:

{
  "ventureId": "5a99023b-20da-4e3f-9fb3-4b0885528773",
  "taskId": "2766e17b-0846-40f4-abe9-dc557656aa82",
  "stage": "CREATE",
  "deliverables": {
    "frontend": {
      "index.html": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Analyze User Request</title>\n  <script src=\"https://cdn.tailwindcss.com\"></script>\n  <style>\n    .loading { opacity: 0.6; pointer-events: none; }\n    .result { white-space: pre-wrap; font-family: monospace; }\n  </style>\n</head>\n<body class=\"bg-gray-50 min-h-screen flex items-center justify-center p-4\">\n  <div class=\"w-full max-w-3xl bg-white rounded-xl shadow-lg p-8\">\n    <header class=\"mb-8 text-center\">\n      <h1 class=\"text-3xl font-bold text-gray-900\">Analyze User Request</h1>\n      <p class=\"text-gray-600 mt-2\">Paste a user request — get structured analysis instantly</p>\n    </header>\n    \n    <form id=\"analyzeForm\" class=\"space-y-6\">\n      <div>\n        <label class=\"block text-sm font-medium text-gray-700 mb-2\">User Request</label>\n        <textarea \n          id=\"requestInput\" \n          name=\"request\" \n          rows=\"6\" \n          required\n          class=\"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-colors\"\n          placeholder=\"e.g., 'I need a dashboard that shows real-time sales data with filters by region and product category, exportable to CSV...'\"></textarea>\n      </div>\n      \n      <button \n        type=\"submit\" \n        id=\"submitBtn\"\n        class=\"w-full py-3 px-6 bg-blue-600 text-white font-medium rounded-lg hover:bg-blue-700 focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-colors disabled:opacity-50 disabled:cursor-not-allowed\"\n      >\n        <span id=\"btnText\">Analyze Request</span>\n        <span id=\"btnLoading\" class=\"hidden inline-flex items-center ml-2\">\n          <svg class=\"animate-spin -ml-1 mr-2 h-4 w-4 text-white\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle><path class=\"opacity-75\" fill=\"currentColor\" d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"></path></svg>\n          Analyzing...\n        </span>\n      </button>\n    </form>\n    \n    <div id=\"error\" class=\"hidden p-4 bg-red-50 border border-red-200 rounded-lg text-red-800\"></div>\n    \n    <div id=\"result\" class=\"hidden mt-6 p-6 bg-gray-50 rounded-lg border border-gray-200 result text-sm text-gray-800\"></div>\n    \n    <div id=\"waitlist\" class=\"mt-8 p-6 bg-blue-50 rounded-lg border border-blue-200 hidden\">\n      <h3 class=\"text-lg font-medium text-blue-900 mb-2\">Want priority access & updates?</h3>\n      <p class=\"text-blue-700 text-sm mb-4\">Join the waitlist for advanced features: batch analysis, API access, custom schemas.</p>\n      <form id=\"waitlistForm\" class=\"flex gap-2 max-w-md\">\n        <input \n          type=\"email\" \n          id=\"emailInput\" \n          placeholder=\"your@email.com\" \n          required\n          class=\"flex-1 px-4 py-2 border border-blue-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 text-sm\"\n        >\n        <button \n          type=\"submit\" \n          id=\"waitlistBtn\"\n          class=\"px-6 py-2 bg-blue-600 text-white font-medium rounded-lg hover:bg-blue-700 focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 text-sm transition-colors\"\n        >\n          Join Waitlist\n        </button>\n      </form>\n      <p id=\"waitlistMsg\" class=\"hidden text-sm mt-2\"></p>\n    </div>\n  </div>\n\n  <script>\n    const API_URL = '/api/analyze';\n    const WAITLIST_URL = '/api/waitlist';\n    \n    document.getElementById('analyzeForm').addEventListener('submit', async (e) => {\n      e.preventDefault();\n      const input = document.getElementById('requestInput');\n      const btn = document.getElementById('submitBtn');\n      const btnText = document.getElementById('btnText');\n      const btnLoading = document.getElementById('btnLoading');\n      const errorDiv = document.getElementById('error');\n      const resultDiv = document.getElementById('result');\n      const waitlistDiv = document.getElementById('waitlist');\n      \n      errorDiv.classList.add('hidden');\n      resultDiv.classList.add('hidden');\n      waitlistDiv.classList.add('hidden');\n      \n      btn.disabled = true;\n      btn.classList.add('loading');\n      btnText.classList.add('hidden');\n      btnLoading.classList.remove('hidden');\n      \n      try {\n        const res = await fetch(API_URL, {\n          method: 'POST',\n          headers: { 'Content-Type': 'application/json' },\n          body: JSON.stringify({ request: input.value.trim() })\n        });\n        \n        const data = await res.json();\n        \n        if (!res.ok) throw new Error(data.error || 'Analysis failed');\n        \n        resultDiv.textContent = JSON.stringify(data.analysis, null, 2);\n        resultDiv.classList.remove('hidden');\n        waitlistDiv.classList.remove

---
From Diamond Co. — https://diamond-co.pages.dev/
