weave.json

Weave Brand Identity

A complete profile of Weave's visual system — colors, typography, components, and personality — extracted from http://getweave.com. Built for designers, agents, and AI tools.

Quick Facts

Field Value
Primary #146EF5
Accent #146EF5
Body Font Akkurat Regular
Heading Font Akkurat Bold

Color Palette

Typography

Visual Assets

UI Components

Brand Personality

Tone: professional · Energy: medium · Audience: small business owners

Weave Brand in the Wild

Real-world brand assets — ads, campaigns, marketing materials.

Working with these fonts

Not found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:

CharacterQuilt.com suggests this flow that can help:

  1. Open the company's homepage in a browser with DevTools open.
  2. In the Network tab, filter by "Font" (or by extension: woff2, woff, ttf, otf).
  3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.
  4. For each captured font URL: right-click → Save As to download the file locally.
  5. 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.

Programmatic 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.

Only do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.

Machine-Readable Profile

{
  "colorScheme": "light",
  "fonts": [
    {
      "family": "Akkurat Bold",
      "role": "heading"
    },
    {
      "family": "Akkurat Regular",
      "role": "body"
    },
    {
      "family": "Akkurat Light",
      "role": "body"
    },
    {
      "family": "Cheltenham Bold",
      "role": "heading"
    }
  ],
  "colors": {
    "primary": "#146EF5",
    "secondary": "#152A61",
    "accent": "#146EF5",
    "background": "#FFFFFF",
    "textPrimary": "#202328",
    "link": "#27343C"
  },
  "typography": {
    "fontFamilies": {
      "primary": "Akkurat Regular",
      "heading": "Akkurat Bold"
    },
    "fontStacks": {
      "heading": [
        "akkuratRegular",
        "akkuratRegular Fallback",
        "sans-serif"
      ],
      "body": [
        "akkuratRegular",
        "akkuratRegular Fallback",
        "sans-serif"
      ],
      "paragraph": [
        "akkuratLight",
        "akkuratLight Fallback",
        "sans-serif"
      ]
    },
    "fontSizes": {
      "h1": "60px",
      "h2": "36px",
      "body": "18px"
    }
  },
  "spacing": {
    "baseUnit": 12,
    "borderRadius": "33554400px"
  },
  "components": {
    "buttonPrimary": {
      "background": "#146EF5",
      "textColor": "#FFFFFF",
      "borderColor": "#146EF5",
      "borderRadius": "33554400px",
      "borderRadiusCorners": {
        "topLeft": "33554400px",
        "topRight": "33554400px",
        "bottomRight": "33554400px",
        "bottomLeft": "33554400px"
      },
      "shadow": "none"
    },
    "buttonSecondary": {
      "background": "#FFFFFF",
      "textColor": "#146EF5",
      "borderRadius": "33554400px",
      "borderRadiusCorners": {
        "topLeft": "33554400px",
        "topRight": "33554400px",
        "bottomRight": "33554400px",
        "bottomLeft": "33554400px"
      },
      "shadow": "none"
    }
  },
  "images": {
    "logo": "data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%2066%2066%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20class%3D%22size-16%20min-w-16%20md%3Ahidden%22%20data-fc-idx%3D%220%22%3E%3Cg%20clip-path%3D%22url(%23clip0_31_2)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cpath%20opacity%3D%220.15%22%20d%3D%22M59.354%200H6C2.68629%200%200%202.68629%200%206V59.883C0%2063.1967%202.68629%2065.883%206%2065.883H59.354C62.6677%2065.883%2065.354%2063.1967%2065.354%2059.883V6C65.354%202.68629%2062.6677%200%2059.354%200Z%22%20fill%3D%22currentColor%22%20style%3D%22fill%3A%20rgb(85%2C%20187%2C%20182)%20!important%3B%20opacity%3A%200.15%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M31.725%2016.2721C32.1294%2016.0928%2032.5613%2016%2033%2016C33.4387%2016%2033.8706%2016.0928%2034.275%2016.2721L49.1157%2022.9508C49.6778%2023.177%2050%2023.6157%2050%2024.2258C50%2024.7742%2049.6778%2025.2746%2049.1157%2025.5008L34.275%2032.1774C33.8706%2032.3556%2033.4387%2032.4516%2033%2032.4516C32.5613%2032.4516%2032.1294%2032.3556%2031.725%2032.1774L16.8246%2025.5008C16.3229%2025.2746%2016%2024.7742%2016%2024.2258C16%2023.6157%2016.3229%2023.177%2016.8246%2022.9508L31.725%2016.2721ZM33%2017.0968C32.719%2017.0968%2032.4379%2017.1571%2032.1157%2017.2729L17.2729%2023.9516C17.166%2023.9996%2017.0968%2024.1093%2017.0968%2024.2258C17.0968%2024.3423%2017.166%2024.452%2017.2729%2024.4383L32.1157%2031.1766C32.4379%2031.2931%2032.719%2031.3548%2033%2031.3548C33.281%2031.3548%2033.5621%2031.2931%2033.8226%2031.1766L48.725%2024.4383C48.773%2024.452%2048.9032%2024.3423%2048.9032%2024.2258C48.9032%2024.1093%2048.773%2023.9996%2048.725%2023.9516L33.8226%2017.2729C33.5621%2017.1571%2033.281%2017.0968%2033%2017.0968ZM20.3391%2030.7516C20.4632%2031.0258%2020.3391%2031.2931%2020.0629%2031.4782L17.2729%2032.7258C17.166%2032.7738%2017.0968%2032.8835%2017.0968%2033C17.0968%2033.1165%2017.166%2033.2262%2017.2729%2033.2125L32.1157%2039.9508C32.4379%2040.0673%2032.719%2040.129%2033%2040.129C33.281%2040.129%2033.5621%2040.0673%2033.8226%2039.9508L48.725%2033.2125C48.773%2033.2262%2048.9032%2033.1165%2048.9032%2033C48.9032%2032.8835%2048.773%2032.7738%2048.725%2032.7258L45.9351%2031.4782C45.6609%2031.2931%2045.5375%2031.0258%2045.6609%2030.7516C45.7843%2030.4774%2046.1065%2030.354%2046.3875%2030.4774L49.1157%2031.725C49.6778%2031.9512%2050%2032.3899%2050%2033C50%2033.5484%2049.6778%2034.0488%2049.1157%2034.275L34.275%2040.9516C33.8706%2041.1298%2033.4387%2041.2258%2033%2041.2258C32.5613%2041.2258%2032.1294%2041.1298%2031.725%2040.9516L16.8246%2034.275C16.3229%2034.0488%2016%2033.5484%2016%2033C16%2032.3899%2016.3229%2031.9512%2016.8246%2031.725L19.6146%2030.4774C19.8908%2030.354%2020.215%2030.4774%2020.3391%2030.7516ZM17.2729%2041.5C17.166%2041.548%2017.0968%2041.6577%2017.0968%2041.7742C17.0968%2041.8907%2017.166%2042.0004%2017.2729%2041.9867L32.1157%2048.725C32.4379%2048.8415%2032.719%2048.9032%2033%2048.9032C33.281%2048.9032%2033.5621%2048.8415%2033.8226%2048.725L48.725%2041.9867C48.773%2042.0004%2048.9032%2041.8907%2048.9032%2041.7742C48.9032%2041.6577%2048.773%2041.548%2048.725%2041.5L45.9351%2040.2524C45.6609%2040.0673%2045.5375%2039.8%2045.6609%2039.5258C45.7843%2039.2516%2046.1065%2039.1282%2046.3875%2039.2516L49.1157%2040.4992C49.6778%2040.7254%2050%2041.1641%2050%2041.7742C50%2042.3226%2049.6778%2042.823%2049.1157%2043.0492L34.275%2049.7258C33.8706%2049.904%2033.4387%2050%2033%2050C32.5613%2050%2032.1294%2049.904%2031.725%2049.7258L16.8246%2043.0492C16.3229%2042.823%2016%2042.3226%2016%2041.7742C16%2041.1641%2016.3229%2040.7254%2016.8246%2040.4992L19.6146%2039.2516C19.8908%2039.1282%2020.215%2039.2516%2020.3391%2039.5258C20.4632%2039.8%2020.3391%2040.0673%2020.0629%2040.2524L17.2729%2041.5Z%22%20fill%3D%22currentColor%22%20fill-opacity%3D%221%22%20style%3D%22fill%3A%20rgb(85%2C%20187%2C%20182)%20!important%3B%20fill-opacity%3A%201%20!important%3B%22%2F%3E%3C%2Fg%3E%3Cdefs%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CclipPath%20id%3D%22clip0_31_2%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Crect%20width%3D%2265.354%22%20height%3D%2265.883%22%20fill%3D%22white%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%20!important%3B%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E",
    "favicon": "https://www.getweave.com/favicon.svg",
    "ogImage": "https://www.getweave.com/images/open-graph/fallback-light-primary.jpg",
    "logoHref": "/pricing/"
  },
  "__llm_logo_reasoning": {
    "selectedIndex": 0,
    "reasoning": "Selected #0 because it is located in the header, matches the brand name 'Weave', and is the most prominent logo candidate.",
    "confidence": 0.85,
    "source": "llm"
  },
  "__llm_button_reasoning": {
    "primary": {
      "index": 8,
      "text": "See Pricing",
      "reasoning": "Button #7 has a vibrant blue background (#146EF5), which is a strong brand color, and the text 'See Pricing' indicates a primary call-to-action."
    },
    "secondary": {
      "index": 3,
      "text": "Get started",
      "reasoning": "Button #0 has a white background with blue text, making it a suitable secondary option. It has the text 'Get started', which complements the primary CTA."
    },
    "confidence": 0.95
  },
  "personality": {
    "tone": "professional",
    "energy": "medium",
    "targetAudience": "small business owners"
  },
  "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 located in the header, matches the brand name 'Weave', and is the most prominent logo candidate.",
        "confidence": 0.85
      }
    },
    "buttonClassification": {
      "llmCalled": true,
      "llmSucceeded": true
    }
  }
}