{
  "name": "Constructable",
  "slug": "constructable",
  "domain": "https://www.constructable.ai/",
  "sources": [
    "yc"
  ],
  "branding": {
    "colorScheme": "light",
    "fonts": [
      {
        "family": "Inter",
        "role": "body"
      }
    ],
    "colors": {
      "primary": "#0046D0",
      "secondary": "#101828",
      "accent": "#0046D0",
      "background": "#FFFFFF",
      "textPrimary": "#0A0A0A",
      "link": "#155DFC"
    },
    "typography": {
      "fontFamilies": {
        "primary": "Inter",
        "heading": "Inter"
      },
      "fontStacks": {
        "heading": [
          "Inter",
          "ui-sans-serif",
          "system-ui",
          "sans-serif",
          "Apple Color Emoji",
          "Segoe UI Emoji",
          "Segoe UI Symbol",
          "Noto Color Emoji"
        ],
        "body": [
          "Inter",
          "ui-sans-serif",
          "system-ui",
          "sans-serif",
          "Apple Color Emoji",
          "Segoe UI Emoji",
          "Segoe UI Symbol",
          "Noto Color Emoji"
        ],
        "paragraph": [
          "Inter",
          "ui-sans-serif",
          "system-ui",
          "sans-serif",
          "Apple Color Emoji",
          "Segoe UI Emoji",
          "Segoe UI Symbol",
          "Noto Color Emoji"
        ]
      },
      "fontSizes": {
        "h1": "96px",
        "h2": "24px",
        "body": "20px"
      }
    },
    "spacing": {
      "baseUnit": 6,
      "borderRadius": "8px"
    },
    "components": {
      "input": {
        "background": "#FFFFFF",
        "textColor": "#101828",
        "borderColor": "#E5E7EB",
        "borderRadius": "4px",
        "borderRadiusCorners": {
          "topLeft": "4px",
          "topRight": "4px",
          "bottomRight": "4px",
          "bottomLeft": "4px"
        },
        "shadow": "none"
      },
      "buttonPrimary": {
        "background": "#0046D0",
        "textColor": "#FAFAFA",
        "borderRadius": "8px",
        "borderRadiusCorners": {
          "topLeft": "8px",
          "topRight": "8px",
          "bottomRight": "8px",
          "bottomLeft": "8px"
        },
        "shadow": "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px"
      },
      "buttonSecondary": {
        "background": "#155DFC",
        "textColor": "#FFFFFF",
        "borderRadius": "4px",
        "borderRadiusCorners": {
          "topLeft": "4px",
          "topRight": "4px",
          "bottomRight": "4px",
          "bottomLeft": "4px"
        },
        "shadow": "none"
      }
    },
    "images": {
      "logo": "https://www.constructable.ai/constructable-logo-dark.svg",
      "favicon": null,
      "ogImage": "/constructable-meta-share-image-1200x628px.jpg",
      "logoHref": "/",
      "logoAlt": "Constructable Logo"
    },
    "__llm_logo_reasoning": {
      "selectedIndex": 0,
      "reasoning": "Selected #0 because it is visible, located in the header, links to the homepage, and matches the brand name 'Constructable'.",
      "confidence": 0.95,
      "source": "llm"
    },
    "__llm_button_reasoning": {
      "primary": {
        "index": 0,
        "text": "Book a demo",
        "reasoning": "The 'Book a demo' button uses the primary brand color #0046D0, which is vibrant and action-oriented, making it the main call-to-action."
      },
      "secondary": {
        "index": 1,
        "text": "Subscribe",
        "reasoning": "The 'Subscribe' button uses a different shade of blue (#155DFC) and serves as a secondary action, complementing the primary CTA."
      },
      "confidence": 0.95
    },
    "personality": {
      "tone": "professional",
      "energy": "medium",
      "targetAudience": "construction project managers and companies"
    },
    "designSystem": {
      "framework": "tailwind",
      "componentLibrary": ""
    },
    "confidence": {
      "buttons": 0.95,
      "colors": 0.9,
      "overall": 0.925
    },
    "__llm_metadata": {
      "logoSelection": {
        "llmCalled": true,
        "llmSucceeded": true,
        "finalSource": "llm",
        "rawLogoSelection": {
          "selectedLogoIndex": 0,
          "selectedLogoReasoning": "Selected #0 because it is visible, located in the header, links to the homepage, and matches the brand name 'Constructable'.",
          "confidence": 0.95
        }
      },
      "buttonClassification": {
        "llmCalled": true,
        "llmSucceeded": true
      }
    }
  },
  "images": [
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/constructable/4d1087ed59.webp",
      "alt": "Constructable - Field Management",
      "source_url": "https://www.constructable.ai/features/field-management",
      "image_url": "https://www.constructable.ai/field-management-hero.jpg",
      "width": 2368,
      "height": 1332,
      "bytes": 3459306,
      "query": "site:constructable.ai",
      "query_suffix": "site:constructable.ai"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/constructable/85d6a7edbe.webp",
      "alt": "Procore Alternatives Mid-Market (January 2026) - Constructable Blog",
      "source_url": "https://constructable.ai/blog/procore-alternatives-mid-market-contractors",
      "image_url": "https://d4bkhhmrfehmf.cloudfront.net/media/59fd43f6-dee1-4b2e-9cb1-13f4a0046b08/9at7puBeRBNIh0f571v_D.png",
      "width": 1600,
      "height": 900,
      "bytes": 192466,
      "query": "site:constructable.ai blog",
      "query_suffix": "site:constructable.ai blog"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/constructable/5893f8312a.webp",
      "alt": "Constructable - Financial Management",
      "source_url": "https://www.constructable.ai/features/financial-management",
      "image_url": "https://www.constructable.ai/financial-management-hero.png",
      "width": 2368,
      "height": 1332,
      "bytes": 92138,
      "query": "site:constructable.ai",
      "query_suffix": "site:constructable.ai"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/constructable/781f882f03.webp",
      "alt": "Blog - Constructable",
      "source_url": "https://constructable.ai/blog",
      "image_url": "https://constructable.ai/blog-images/forecast-override.jpg",
      "width": 1420,
      "height": 1066,
      "bytes": 547719,
      "query": "site:constructable.ai blog",
      "query_suffix": "site:constructable.ai blog"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/constructable/b3d6b73b54.webp",
      "alt": "Constructable - Preconstruction",
      "source_url": "https://www.constructable.ai/features/preconstruction",
      "image_url": "https://www.constructable.ai/preconstruction-hero.jpg",
      "width": 2368,
      "height": 1332,
      "bytes": 1152697,
      "query": "site:constructable.ai",
      "query_suffix": "site:constructable.ai"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/constructable/59cecfdebf.webp",
      "alt": "Blog - Constructable",
      "source_url": "https://constructable.ai/blog",
      "image_url": "https://constructable.ai/blog-images/semantic-rerank-generation.png",
      "width": 1250,
      "height": 548,
      "bytes": 309260,
      "query": "site:constructable.ai blog",
      "query_suffix": "site:constructable.ai blog"
    }
  ],
  "font_resources": [
    {
      "family": "Inter",
      "google_fonts_url": "https://fonts.google.com/specimen/Inter"
    },
    {
      "family": "Inter",
      "google_fonts_url": "https://fonts.google.com/specimen/Inter"
    }
  ],
  "google_fonts_css": "https://fonts.googleapis.com/css2?family=Inter&family=Inter&display=swap",
  "font_download_note": "Not found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. View the page's CSS (DevTools → Sources, or curl the stylesheet URLs) and copy out the matching @font-face declarations. Rewrite each `src: url(...)` to point to your local file path.\n\nProgrammatic alternative: load the URL with Playwright or Puppeteer, listen for `response` events whose `Content-Type` starts with `font/`, and write the body to disk. The CSS extraction step is the same.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.",
  "page_url": "https://characterquilt.com/branding/constructable",
  "agent_instructions": "You are designing or implementing in Constructable's brand identity.\n\n# Brand profile\n- Company: Constructable\n- Source: https://www.constructable.ai/\n- Color scheme: light\n\n# Colors\n- primary: #0046D0\n- secondary: #101828\n- accent: #0046D0\n- background: #FFFFFF\n- textPrimary: #0A0A0A\n- link: #155DFC\n\n# Typography\n- primary: Inter — https://fonts.google.com/specimen/Inter\n- heading: Inter — https://fonts.google.com/specimen/Inter\n\nLoad all fonts at once: <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css2?family=Inter&family=Inter&display=swap\">\n\n# UI Components\n- input: background=#FFFFFF, textColor=#101828, borderColor=#E5E7EB, borderRadius=4px, shadow=none\n- buttonPrimary: background=#0046D0, textColor=#FAFAFA, borderRadius=8px, shadow=rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px\n- buttonSecondary: background=#155DFC, textColor=#FFFFFF, borderRadius=4px, shadow=none\n\n# Brand voice\n- Tone: professional\n- Energy: medium\n- Audience: construction project managers and companies\n\n# Working with these fonts\nNot found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. View the page's CSS (DevTools → Sources, or curl the stylesheet URLs) and copy out the matching @font-face declarations. Rewrite each `src: url(...)` to point to your local file path.\n\nProgrammatic alternative: load the URL with Playwright or Puppeteer, listen for `response` events whose `Content-Type` starts with `font/`, and write the body to disk. The CSS extraction step is the same.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.\n\n# Full machine-readable profile\nhttps://characterquilt.com/branding/constructable.json",
  "page_markdown": "# Constructable Brand Identity\n\nA complete profile of **Constructable**'s visual system — colors, typography, components, and personality — extracted from https://www.constructable.ai/. Built for designers, agents, and AI tools.\n\n- Page: https://characterquilt.com/branding/constructable\n- Machine-readable JSON: https://characterquilt.com/branding/constructable.json\n- Per-page llms.txt: https://characterquilt.com/branding/constructable/llms.txt\n\n## Quick Facts\n\n| Field | Value |\n|---|---|\n| Primary | #0046D0 |\n| Accent | #0046D0 |\n| Body Font | Inter |\n| Heading Font | Inter |\n\n## Color Palette\n\n- primary: #0046D0\n- secondary: #101828\n- accent: #0046D0\n- background: #FFFFFF\n- textPrimary: #0A0A0A\n- link: #155DFC\n\n## Typography\n\n- primary: Inter — https://fonts.google.com/specimen/Inter\n- heading: Inter — https://fonts.google.com/specimen/Inter\n\n## Visual Assets\n\n- Logo: https://www.constructable.ai/constructable-logo-dark.svg\n- Social card (og:image): /constructable-meta-share-image-1200x628px.jpg\n\n## UI Components\n\n- input: background=#FFFFFF, textColor=#101828, borderColor=#E5E7EB, borderRadius=4px, shadow=none\n- buttonPrimary: background=#0046D0, textColor=#FAFAFA, borderRadius=8px, shadow=rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px\n- buttonSecondary: background=#155DFC, textColor=#FFFFFF, borderRadius=4px, shadow=none\n\n## Brand Personality\n\nTone: professional · Energy: medium · Audience: construction project managers and companies\n\n## Constructable Brand in the Wild\n\nReal-world brand assets — ads, campaigns, marketing materials.\n\n- **Constructable - Field Management**\n  - Image: https://www.constructable.ai/field-management-hero.jpg\n  - Source: https://www.constructable.ai/features/field-management\n- **Procore Alternatives Mid-Market (January 2026) - Constructable Blog**\n  - Image: https://d4bkhhmrfehmf.cloudfront.net/media/59fd43f6-dee1-4b2e-9cb1-13f4a0046b08/9at7puBeRBNIh0f571v_D.png\n  - Source: https://constructable.ai/blog/procore-alternatives-mid-market-contractors\n- **Constructable - Financial Management**\n  - Image: https://www.constructable.ai/financial-management-hero.png\n  - Source: https://www.constructable.ai/features/financial-management\n- **Blog - Constructable**\n  - Image: https://constructable.ai/blog-images/forecast-override.jpg\n  - Source: https://constructable.ai/blog\n- **Constructable - Preconstruction**\n  - Image: https://www.constructable.ai/preconstruction-hero.jpg\n  - Source: https://www.constructable.ai/features/preconstruction\n- **Blog - Constructable**\n  - Image: https://constructable.ai/blog-images/semantic-rerank-generation.png\n  - Source: https://constructable.ai/blog\n\n## Working with these fonts\n\nNot found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. View the page's CSS (DevTools → Sources, or curl the stylesheet URLs) and copy out the matching @font-face declarations. Rewrite each `src: url(...)` to point to your local file path.\n\nProgrammatic alternative: load the URL with Playwright or Puppeteer, listen for `response` events whose `Content-Type` starts with `font/`, and write the body to disk. The CSS extraction step is the same.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.\n\n## Machine-Readable Profile\n\n```json\n{\n  \"colorScheme\": \"light\",\n  \"fonts\": [\n    {\n      \"family\": \"Inter\",\n      \"role\": \"body\"\n    }\n  ],\n  \"colors\": {\n    \"primary\": \"#0046D0\",\n    \"secondary\": \"#101828\",\n    \"accent\": \"#0046D0\",\n    \"background\": \"#FFFFFF\",\n    \"textPrimary\": \"#0A0A0A\",\n    \"link\": \"#155DFC\"\n  },\n  \"typography\": {\n    \"fontFamilies\": {\n      \"primary\": \"Inter\",\n      \"heading\": \"Inter\"\n    },\n    \"fontStacks\": {\n      \"heading\": [\n        \"Inter\",\n        \"ui-sans-serif\",\n        \"system-ui\",\n        \"sans-serif\",\n        \"Apple Color Emoji\",\n        \"Segoe UI Emoji\",\n        \"Segoe UI Symbol\",\n        \"Noto Color Emoji\"\n      ],\n      \"body\": [\n        \"Inter\",\n        \"ui-sans-serif\",\n        \"system-ui\",\n        \"sans-serif\",\n        \"Apple Color Emoji\",\n        \"Segoe UI Emoji\",\n        \"Segoe UI Symbol\",\n        \"Noto Color Emoji\"\n      ],\n      \"paragraph\": [\n        \"Inter\",\n        \"ui-sans-serif\",\n        \"system-ui\",\n        \"sans-serif\",\n        \"Apple Color Emoji\",\n        \"Segoe UI Emoji\",\n        \"Segoe UI Symbol\",\n        \"Noto Color Emoji\"\n      ]\n    },\n    \"fontSizes\": {\n      \"h1\": \"96px\",\n      \"h2\": \"24px\",\n      \"body\": \"20px\"\n    }\n  },\n  \"spacing\": {\n    \"baseUnit\": 6,\n    \"borderRadius\": \"8px\"\n  },\n  \"components\": {\n    \"input\": {\n      \"background\": \"#FFFFFF\",\n      \"textColor\": \"#101828\",\n      \"borderColor\": \"#E5E7EB\",\n      \"borderRadius\": \"4px\",\n      \"borderRadiusCorners\": {\n        \"topLeft\": \"4px\",\n        \"topRight\": \"4px\",\n        \"bottomRight\": \"4px\",\n        \"bottomLeft\": \"4px\"\n      },\n      \"shadow\": \"none\"\n    },\n    \"buttonPrimary\": {\n      \"background\": \"#0046D0\",\n      \"textColor\": \"#FAFAFA\",\n      \"borderRadius\": \"8px\",\n      \"borderRadiusCorners\": {\n        \"topLeft\": \"8px\",\n        \"topRight\": \"8px\",\n        \"bottomRight\": \"8px\",\n        \"bottomLeft\": \"8px\"\n      },\n      \"shadow\": \"rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px\"\n    },\n    \"buttonSecondary\": {\n      \"background\": \"#155DFC\",\n      \"textColor\": \"#FFFFFF\",\n      \"borderRadius\": \"4px\",\n      \"borderRadiusCorners\": {\n        \"topLeft\": \"4px\",\n        \"topRight\": \"4px\",\n        \"bottomRight\": \"4px\",\n        \"bottomLeft\": \"4px\"\n      },\n      \"shadow\": \"none\"\n    }\n  },\n  \"images\": {\n    \"logo\": \"https://www.constructable.ai/constructable-logo-dark.svg\",\n    \"favicon\": null,\n    \"ogImage\": \"/constructable-meta-share-image-1200x628px.jpg\",\n    \"logoHref\": \"/\",\n    \"logoAlt\": \"Constructable Logo\"\n  },\n  \"__llm_logo_reasoning\": {\n    \"selectedIndex\": 0,\n    \"reasoning\": \"Selected #0 because it is visible, located in the header, links to the homepage, and matches the brand name 'Constructable'.\",\n    \"confidence\": 0.95,\n    \"source\": \"llm\"\n  },\n  \"__llm_button_reasoning\": {\n    \"primary\": {\n      \"index\": 0,\n      \"text\": \"Book a demo\",\n      \"reasoning\": \"The 'Book a demo' button uses the primary brand color #0046D0, which is vibrant and action-oriented, making it the main call-to-action.\"\n    },\n    \"secondary\": {\n      \"index\": 1,\n      \"text\": \"Subscribe\",\n      \"reasoning\": \"The 'Subscribe' button uses a different shade of blue (#155DFC) and serves as a secondary action, complementing the primary CTA.\"\n    },\n    \"confidence\": 0.95\n  },\n  \"personality\": {\n    \"tone\": \"professional\",\n    \"energy\": \"medium\",\n    \"targetAudience\": \"construction project managers and companies\"\n  },\n  \"designSystem\": {\n    \"framework\": \"tailwind\",\n    \"componentLibrary\": \"\"\n  },\n  \"confidence\": {\n    \"buttons\": 0.95,\n    \"colors\": 0.9,\n    \"overall\": 0.925\n  },\n  \"__llm_metadata\": {\n    \"logoSelection\": {\n      \"llmCalled\": true,\n      \"llmSucceeded\": true,\n      \"finalSource\": \"llm\",\n      \"rawLogoSelection\": {\n        \"selectedLogoIndex\": 0,\n        \"selectedLogoReasoning\": \"Selected #0 because it is visible, located in the header, links to the homepage, and matches the brand name 'Constructable'.\",\n        \"confidence\": 0.95\n      }\n    },\n    \"buttonClassification\": {\n      \"llmCalled\": true,\n      \"llmSucceeded\": true\n    }\n  }\n}\n```\n"
}