{
  "schema_version": "1.0",
  "generated_at": "2026-07-23T01:54:38.457Z",
  "slug": "melodycraft-app",
  "domain": "melodycraft.app",
  "funnel_type": "saas",
  "crawler": {
    "name": "roentgen",
    "version": "1.4",
    "label": "Roentgen 1.4"
  },
  "provenance": {
    "facts": "measured",
    "design_tokens": "measured",
    "proof_language": "measured",
    "ux": "measured",
    "steps": "measured",
    "screenshots": "measured",
    "favicon": "measured",
    "score": "derived_deterministic",
    "agent_brief": "rendered_summary",
    "playbooks": "derived_deterministic"
  },
  "score": {
    "source_type": "derived_deterministic",
    "score": 50,
    "band": "Thin",
    "stars": 2,
    "categories": [
      {
        "id": "offer",
        "label": "Offer clarity",
        "pts": 0,
        "cap": 8
      },
      {
        "id": "action",
        "label": "Action path",
        "pts": 13,
        "cap": 20
      },
      {
        "id": "trust",
        "label": "Trust & proof",
        "pts": 6,
        "cap": 11
      },
      {
        "id": "friction",
        "label": "Friction reduction",
        "pts": 10,
        "cap": 10
      },
      {
        "id": "value",
        "label": "Value reinforcement",
        "pts": 0,
        "cap": 10
      },
      {
        "id": "urgency",
        "label": "Risk reversal & urgency",
        "pts": 0,
        "cap": 0
      }
    ]
  },
  "percentile": {
    "corpus_n": 306,
    "beats_pct": 68,
    "cohort": {
      "type": "saas",
      "n": 174,
      "beats_pct": 55
    }
  },
  "devices_available": [
    "desktop"
  ],
  "funnels": [
    {
      "device": "desktop",
      "funnel_sig": "home>pricing",
      "score": 50,
      "band": "Thin",
      "funnel_depth": 2,
      "captured_at": "2026-07-20",
      "crawler": "Roentgen 1.4"
    }
  ],
  "timeline": [
    {
      "score": 50,
      "band": "Thin",
      "date": "2026-07-20"
    }
  ],
  "facts": {
    "source_type": "measured",
    "profile": {
      "funnel_type": "saas",
      "score": {
        "score": 50,
        "band": "Thin",
        "stars": 2,
        "categories": [
          {
            "id": "offer",
            "label": "Offer clarity",
            "pts": 0,
            "cap": 8
          },
          {
            "id": "action",
            "label": "Action path",
            "pts": 13,
            "cap": 20
          },
          {
            "id": "trust",
            "label": "Trust & proof",
            "pts": 6,
            "cap": 11
          },
          {
            "id": "friction",
            "label": "Friction reduction",
            "pts": 10,
            "cap": 10
          },
          {
            "id": "value",
            "label": "Value reinforcement",
            "pts": 0,
            "cap": 10
          },
          {
            "id": "urgency",
            "label": "Risk reversal & urgency",
            "pts": 0,
            "cap": 0
          }
        ]
      },
      "funnel_depth": 2,
      "proof_points": 1,
      "proof_steps": 1,
      "components_present": 6,
      "free_gifts": 0,
      "discount_present": true,
      "has_countdown": false,
      "subscription_detected": true,
      "checkout_form_fields": 0,
      "price_continuity": {
        "continuous": false,
        "shared": []
      },
      "tactics_detected": 4,
      "tactics_total": 9,
      "checkout_reached": null
    },
    "patterns": [
      {
        "id": "comparison_table",
        "label": "Us-vs-them comparison",
        "category": "objection",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "demo_docs",
        "label": "Demo / docs entry",
        "category": "checkout",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "faq_objection",
        "label": "FAQ / objection handling",
        "category": "objection",
        "present": true,
        "count": 2,
        "evidence": [
          "home: Frequently Asked Questions",
          "pricing: Can I cancel my subscription at any time? Yes. You can manage or cancel your subscription "
        ]
      },
      {
        "id": "free_trial",
        "label": "Free trial / freemium",
        "category": "offer",
        "present": true,
        "count": 2,
        "evidence": [
          "home: free credits",
          "pricing: free trial"
        ]
      },
      {
        "id": "lead_form",
        "label": "Lead-capture form",
        "category": "checkout",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "pricing_tiers",
        "label": "Pricing tiers",
        "category": "offer",
        "present": false,
        "count": 0,
        "evidence": []
      },
      {
        "id": "proof_above_fold",
        "label": "Proof above the fold",
        "category": "proof",
        "present": true,
        "count": 1,
        "evidence": [
          "home: 2M+\nCreators\n4.9\nRating\nFree\nAccess"
        ]
      },
      {
        "id": "trusted_by_logos",
        "label": "Trusted-by logo wall",
        "category": "proof",
        "present": true,
        "count": 2,
        "evidence": [
          "home: logos: Jazz, Kpop, Lo-fi, EDM, Rap",
          "pricing: logos: Stripe, Visa, Mastercard, American Express, JCB"
        ]
      },
      {
        "id": "usage_proof",
        "label": "Usage / adoption proof",
        "category": "proof",
        "present": false,
        "count": 0,
        "evidence": []
      }
    ]
  },
  "design_tokens": {
    "source_type": "measured",
    "summary": {
      "roles": {
        "primary": "#070c19",
        "accent": "#070c19",
        "bg": "#d8ff20",
        "surface": "#ffffff",
        "text": "#ffffff"
      },
      "font": {
        "display": "Poppins",
        "body": "Poppins",
        "families": [
          {
            "family": "Poppins",
            "chars": 7009
          },
          {
            "family": "Bricolage Grotesque",
            "chars": 16
          }
        ]
      },
      "type_scale": [
        12,
        13,
        14,
        16,
        18,
        20,
        22,
        24,
        28,
        32,
        36,
        52
      ],
      "weights": [
        400,
        500,
        600
      ],
      "base_size": 19,
      "min_size": 12,
      "radius_scale": [
        8,
        16,
        28,
        50,
        64,
        5445
      ],
      "palette": [
        {
          "hex": "#070c19",
          "usage_pct": 91.6,
          "lum": 0.05,
          "chroma": 0.07
        },
        {
          "hex": "#1b202e",
          "usage_pct": 8.2,
          "lum": 0.13,
          "chroma": 0.07
        },
        {
          "hex": "#212735",
          "usage_pct": 0.2,
          "lum": 0.15,
          "chroma": 0.08
        },
        {
          "hex": "#d8ff20",
          "usage_pct": 0,
          "lum": 0.9,
          "chroma": 0.87
        },
        {
          "hex": "#ffffff",
          "usage_pct": 0,
          "lum": 1,
          "chroma": 0
        }
      ]
    }
  },
  "proof_language": [
    {
      "type": "discount",
      "template": "Save {N}%",
      "examples": [
        "Save 20%"
      ]
    }
  ],
  "ux": {
    "summary": {
      "flags": 2,
      "unknown": 0,
      "posture": "Minor",
      "checks_total": 8
    },
    "checks": [
      {
        "group": "contrast",
        "label": "Text contrast (WCAG AA)",
        "verdict": "good",
        "fact": "100% of measurable text passes WCAG AA."
      },
      {
        "group": "mobile",
        "label": "Mobile viewport",
        "verdict": "good",
        "fact": "Responsive viewport meta is present."
      },
      {
        "group": "type",
        "label": "Body text size",
        "verdict": "needs_work",
        "fact": "Smallest body text is 12px (base ~26px). below the ~16px readable floor.",
        "fix": "Keep body copy ≥15-16px; reserve sub-13px for fine print only."
      },
      {
        "group": "type",
        "label": "Line length",
        "verdict": "note",
        "fact": "11 paragraphs run past ~95 characters per line.",
        "fix": "Cap measure at ~60-75ch for comfortable reading."
      },
      {
        "group": "a11y",
        "label": "Language declared",
        "verdict": "good",
        "fact": "html[lang] is set for screen readers."
      },
      {
        "group": "a11y",
        "label": "Image alt text",
        "verdict": "good",
        "fact": "All 107 content images carry alt text."
      },
      {
        "group": "a11y",
        "label": "Form labels",
        "verdict": "note",
        "fact": "1 form field relies on placeholder text as the only label.",
        "fix": "Back placeholders with a real <label>. placeholder text vanishes on input."
      },
      {
        "group": "a11y",
        "label": "Named controls",
        "verdict": "needs_work",
        "fact": "1 button/link has no accessible name (icon-only, no aria-label).",
        "fix": "Add aria-label to icon-only buttons and links."
      }
    ],
    "signals": {
      "contrast": {
        "sampled": 154,
        "pass_aa": 139,
        "fail_aa": 0,
        "unknown": 15,
        "worst": []
      },
      "typography": {
        "body_px": 26,
        "min_body_px": 12,
        "line_height": 1.31,
        "long_lines": 11,
        "distinct_sizes": 13
      },
      "a11y": {
        "lang": true,
        "viewport": true,
        "img_total": 107,
        "img_missing_alt": 0,
        "controls_total": 1,
        "controls_unlabeled": 0,
        "controls_placeholder_only": 1,
        "controls_unnamed": 1,
        "generic_links": 0,
        "h1_home": 1,
        "h1_counts": [
          1,
          1
        ],
        "heading_skips": 0
      },
      "tap_targets": {
        "checked": 115,
        "small": 81,
        "sample": [
          {
            "label": "Tools",
            "w": 72,
            "h": 28
          },
          {
            "label": "Tools",
            "w": 72,
            "h": 28
          },
          {
            "label": "Create Music",
            "w": 109,
            "h": 28
          },
          {
            "label": "Create Music",
            "w": 109,
            "h": 28
          }
        ]
      },
      "layout": {
        "h_overflow": false,
        "overflow_px": 0
      },
      "viewport_w": 1440
    }
  },
  "playbooks": [],
  "steps": [
    {
      "n": 1,
      "id": "home",
      "label": "Homepage / Lander",
      "url": "https://melodycraft.app/",
      "reached": true,
      "copy": {
        "title": "MelodyCraft | Lyrics to Song & AI Music Generator",
        "meta_description": "Generate songs and vocals instantly with MelodyCraft. Create music from lyrics, make AI song covers, and explore different styles — all in one platform.",
        "hero_copy": "AI Music Generator | Hear What You Can Create with AI Music Generator | How to Make a Song with MelodyCraft",
        "h1": [
          "AI Music Generator"
        ],
        "h2": [
          "Hear What You Can Create with AI Music Generator",
          "How to Make a Song with MelodyCraft",
          "MelodyCraft for Every Project and Moment",
          "Need an Idea?",
          "Find more inMelodyCraft App",
          "Frequently Asked Questions",
          "Start creating your own songs today."
        ],
        "h3": [
          "Describe Your Song",
          "Generate with AI",
          "Download and Share",
          "What is MelodyCraft AI Music Generator?",
          "Can I turn lyrics into a song with MelodyCraft?",
          "Can MelodyCraft generate songs with vocals?",
          "Can I create instrumental music without vocals?",
          "Is MelodyCraft free to use?"
        ],
        "ctas": [
          "Tools",
          "Inspiration",
          "English",
          "Login",
          "Inspire me",
          "Create Now FREE for first try 1",
          "Create Similar",
          "01. Write down your musical ideas",
          "02. AI generates for you",
          "03. Download and share",
          "What is MelodyCraft AI Music Generator?",
          "Can I turn lyrics into a song with MelodyCraft?"
        ],
        "prices": [],
        "form_fields": 1,
        "form_field_names": [
          "What Music Will You Make?"
        ],
        "video": {
          "count": 0,
          "native": 0,
          "providers": []
        }
      },
      "proof": [],
      "proof_position": {
        "in_header": true,
        "above_fold": true,
        "above_fold_text": "2M+\nCreators\n4.9\nRating\nFree\nAccess"
      },
      "discount": {
        "present": false,
        "anchors": [],
        "percent_off": null
      },
      "subscription": {
        "detected": false,
        "interval": null
      },
      "free_items": [],
      "tactics": [
        "subscription_toggle",
        "faq_accordion",
        "free_trial",
        "no_credit_card",
        "social_proof_logos"
      ],
      "tactics_evidence": {
        "review_wall": null,
        "comparison_table": null,
        "countdown_timer": null,
        "free_gift": null,
        "subscription_toggle": "subscribe now",
        "faq_accordion": "Frequently Asked Questions",
        "trust_badges": null,
        "press_logos": null,
        "per_unit_price": null,
        "free_shipping": null,
        "free_trial": "free credits",
        "no_credit_card": "no credit card required",
        "social_proof_logos": "logos: Jazz, Kpop, Lo-fi, EDM, Rap",
        "usage_proof": null,
        "pricing_tiers": null,
        "demo_docs": null,
        "express_checkout": null
      },
      "ux_flags": {
        "contrast_fail": 0,
        "contrast_unknown": 10,
        "aa_pass_pct": 100,
        "min_body_px": 12,
        "small_taps": 45,
        "h_overflow": false,
        "lang": true,
        "viewport": true,
        "h1_count": 1
      },
      "screenshots": {
        "hero": "https://api.uxxray.com/api/v1/teardown/melodycraft-app/screenshot/01-home/hero.png",
        "full": "https://api.uxxray.com/api/v1/teardown/melodycraft-app/screenshot/01-home/full.png"
      },
      "crops": [
        {
          "region": "primary_cta",
          "label": "Primary CTA",
          "url": "https://api.uxxray.com/api/v1/teardown/melodycraft-app/screenshot/01-home/crops/primary_cta.png"
        }
      ]
    },
    {
      "n": 2,
      "id": "pricing",
      "label": "Pricing",
      "url": "https://melodycraft.app/pricing",
      "reached": true,
      "copy": {
        "title": "MelodyCraft Pricing | Start Creating AI Songs, Lyrics & Covers Today",
        "meta_description": "Explore MelodyCraft's flexible pricing plans for AI music generator.",
        "hero_copy": "Create More withMelodyCraft Pro | Frequently Asked Questions",
        "h1": [
          "Create More withMelodyCraft Pro"
        ],
        "h2": [
          "Frequently Asked Questions"
        ],
        "h3": [
          "Can I cancel my subscription at any time?",
          "What is the difference between the free trial and Pro plans?",
          "How do MelodyCraft credits work?",
          "Do my credits work on both the app and website?",
          "Can I download the music I create?",
          "Can I use MelodyCraft songs for commercial projects?",
          "Which plan should I choose?",
          "Will my subscription renew automatically?"
        ],
        "ctas": [
          "Tools",
          "Inspiration",
          "English",
          "Login",
          "Subscribe Now",
          "Download"
        ],
        "prices": [
          "$0",
          "$4.99",
          "$3.99",
          "$19.99",
          "$15.99",
          "$2.08",
          "$199.99",
          "$99.99"
        ],
        "form_fields": 0,
        "form_field_names": [],
        "video": {
          "count": 0,
          "native": 0,
          "providers": []
        }
      },
      "proof": [
        {
          "type": "discount",
          "text": "Save 20%",
          "value": 20
        }
      ],
      "proof_position": {
        "in_header": false,
        "above_fold": false,
        "above_fold_text": null
      },
      "discount": {
        "present": true,
        "anchors": [
          "$19.99",
          "$199.99"
        ],
        "percent_off": "Save 20%"
      },
      "subscription": {
        "detected": true,
        "interval": null
      },
      "free_items": [],
      "tactics": [
        "subscription_toggle",
        "faq_accordion",
        "free_trial",
        "no_credit_card",
        "social_proof_logos",
        "express_checkout"
      ],
      "tactics_evidence": {
        "review_wall": null,
        "comparison_table": null,
        "countdown_timer": null,
        "free_gift": null,
        "subscription_toggle": "subscribe now",
        "faq_accordion": "Can I cancel my subscription at any time? Yes. You can manage or cancel your subscription ",
        "trust_badges": null,
        "press_logos": null,
        "per_unit_price": null,
        "free_shipping": null,
        "free_trial": "free trial",
        "no_credit_card": "no credit card required",
        "social_proof_logos": "logos: Stripe, Visa, Mastercard, American Express, JCB",
        "usage_proof": null,
        "pricing_tiers": null,
        "demo_docs": null,
        "express_checkout": "Apple Pay"
      },
      "ux_flags": {
        "contrast_fail": 0,
        "contrast_unknown": 5,
        "aa_pass_pct": 100,
        "min_body_px": 12,
        "small_taps": 36,
        "h_overflow": false,
        "lang": true,
        "viewport": true,
        "h1_count": 1
      },
      "screenshots": {
        "hero": "https://api.uxxray.com/api/v1/teardown/melodycraft-app/screenshot/02-pricing/hero.png",
        "full": "https://api.uxxray.com/api/v1/teardown/melodycraft-app/screenshot/02-pricing/full.png"
      },
      "crops": [
        {
          "region": "primary_cta",
          "label": "Primary CTA",
          "url": "https://api.uxxray.com/api/v1/teardown/melodycraft-app/screenshot/02-pricing/crops/primary_cta.png"
        }
      ]
    }
  ],
  "favicon_url": "https://api.uxxray.com/api/v1/teardown/melodycraft-app/favicon",
  "agent_brief": {
    "source_type": "rendered_summary",
    "note": "generated only from measured facts — see facts.patterns[].evidence",
    "markdown": "# Agent Brief. build in the style of melodycraft.app\n\n> Machine-extracted from a live on-demand funnel teardown (2026-07-20). 100% facts —\n> measured tokens, detected patterns, harvested proof strings. No LLM interpretation.\n> Single-page capture (MVP): homepage/landing page only, no funnel walk.\n> Tokens: `tokens.json` / `tailwind.css`.\n\n**Category (label):** —\n**Funnel:** Homepage / Lander → Pricing\n\n## Palette (area-weighted from live CSS)\n| Hex | Usage | Likely role |\n|-----|------:|-------------|\n| `#070c19` | 91.6% | support |\n| `#1b202e` | 8.2% | support |\n| `#212735` | 0.2% | support |\n| `#d8ff20` | 0% | accent/brand |\n| `#ffffff` | 0% | background |\n\nCurated roles: `primary=#070c19` · `accent=#070c19` · `bg=#d8ff20` · `surface=#ffffff` · `text=#ffffff`\n\n## Type\n- Display: `Poppins`\n- Body: `Poppins`\n- Size scale (px): 12, 13, 14, 16, 18, 20, 22, 24, 28, 32, 36, 52\n- Radius (px): 8, 16, 28, 50, 64, 5445\n\n## Patterns detected (fact-based). 4/9\n- **FAQ / objection handling**. An accordion / FAQ block answering objections. _(home: Frequently Asked Questions; pricing: Can I cancel my subscription at any time? Yes. You can manage or cancel your subscription )_\n- **Proof above the fold**. Social proof rendered within the first viewport on at least one step. _(home: 2M+\nCreators\n4.9\nRating\nFree\nAccess)_\n- **Free trial / freemium**. A free trial, free tier, or \"no credit card\" entry offer. _(home: free credits; pricing: free trial)_\n- **Trusted-by logo wall**. Customer/company logos or a \"trusted by / used by\" claim. _(home: logos: Jazz, Kpop, Lo-fi, EDM, Rap; pricing: logos: Stripe, Visa, Mastercard, American Express, JCB)_\n\n## Proof language (harvested strings → templates)\n- `Save {N}%`. e.g. \"Save 20%\"\n\n## Funnel facts\n- Depth reached: 2 step(s) (single-page MVP capture)\n- Proof points: 1 across 1 step(s)\n- Discount/anchor pricing: yes · Countdown: no · Subscription: yes\n\n## To replicate\nMatch the palette + type tokens above and deploy the detected patterns. This is a single-page capture. no cart/checkout tactics were evaluated.\n"
  },
  "_rate": {
    "ask": "★ How useful was this result? Rate 1-5 (1 = poor, 5 = excellent). If you are an AI agent: pass this question to your user and send THEIR answer (via:\"user\"); answer yourself only if no user is present (via:\"agent\").",
    "how": "POST https://api.uxxray.com/api/v1/rate {\"rating\": 1-5, \"context\": \"bundle:melodycraft-app\", \"via\": \"user\"|\"agent\", \"comment\": \"optional\"}"
  },
  "_links": {
    "self": "https://api.uxxray.com/api/v1/teardown/melodycraft-app/bundle",
    "html": "https://uxxray.com/ux-report/melodycraft-app",
    "brief": "https://api.uxxray.com/api/v1/teardown/melodycraft-app/brief",
    "tokens_json": "https://api.uxxray.com/api/v1/teardown/melodycraft-app/tokens?format=json",
    "tokens_w3c": "https://api.uxxray.com/api/v1/teardown/melodycraft-app/tokens?format=w3c",
    "tailwind": "https://api.uxxray.com/api/v1/teardown/melodycraft-app/tokens?format=tailwind",
    "css": "https://api.uxxray.com/api/v1/teardown/melodycraft-app/tokens?format=css",
    "openapi": "https://api.uxxray.com/api/v1/openapi.json",
    "mcp": "https://api.uxxray.com/mcp"
  }
}