floot.json

Floot Brand Identity

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

Quick Facts

Field Value
Primary #111827
Accent #000000
Body Font Inter
Heading Font Bricolage Grotesque

Color Palette

Typography

Visual Assets

UI Components

Brand Personality

Tone: modern · Energy: medium · Audience: web developers and designers

Floot 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": "Inter",
      "role": "body"
    },
    {
      "family": "Bricolage Grotesque",
      "role": "heading"
    },
    {
      "family": "Poppins",
      "role": "display"
    },
    {
      "family": "Geist",
      "role": "unknown"
    }
  ],
  "colors": {
    "primary": "#111827",
    "secondary": "#F97316",
    "accent": "#000000",
    "background": "#FFFFFF",
    "textPrimary": "#6B7280",
    "link": "#6B7280"
  },
  "typography": {
    "fontFamilies": {
      "primary": "Inter",
      "heading": "Bricolage Grotesque"
    },
    "fontStacks": {
      "heading": [
        "Bricolage Grotesque",
        "Poppins",
        "Inter",
        "system-ui",
        "sans-serif"
      ],
      "body": [
        "Inter",
        "system-ui",
        "-apple-system",
        "BlinkMacSystemFont",
        "Segoe UI",
        "Roboto",
        "sans-serif"
      ],
      "paragraph": [
        "Inter",
        "system-ui",
        "-apple-system",
        "BlinkMacSystemFont",
        "Segoe UI",
        "Roboto",
        "sans-serif"
      ]
    },
    "fontSizes": {
      "h1": "48px",
      "h2": "28.8px",
      "body": "18px"
    }
  },
  "spacing": {
    "baseUnit": 4,
    "borderRadius": "12px"
  },
  "components": {
    "input": {
      "background": "transparent",
      "textColor": "#111827",
      "borderColor": null,
      "borderRadius": "0px",
      "borderRadiusCorners": {
        "topLeft": "0px",
        "topRight": "0px",
        "bottomRight": "0px",
        "bottomLeft": "0px"
      },
      "shadow": "none"
    },
    "buttonPrimary": {
      "background": "#000000",
      "textColor": "#FFFFFF",
      "borderRadius": "9999px",
      "borderRadiusCorners": {
        "topLeft": "9999px",
        "topRight": "9999px",
        "bottomRight": "9999px",
        "bottomLeft": "9999px"
      },
      "shadow": "rgba(0, 0, 0, 0.2) 0px 4px 14px 0px"
    },
    "buttonSecondary": {
      "background": "#FFFFFF",
      "textColor": "#71717A",
      "borderColor": "#D4D4D8",
      "borderRadius": "9999px",
      "borderRadiusCorners": {
        "topLeft": "9999px",
        "topRight": "9999px",
        "bottomRight": "9999px",
        "bottomLeft": "9999px"
      },
      "shadow": "none"
    }
  },
  "images": {
    "logo": "data:image/svg+xml;utf8,%3Csvg%20class%3D%22XAos_f%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20data-fc-idx%3D%220%22%3E%3Cpath%20d%3D%22M29.6846%203.09875C30.6831%202.17445%2031.3555%201.15164%2032%200.0171526C31.533%200.0155245%2017.4681%20-0.00666586%2017.0012%200.00199826C13.0771%200.106699%209.16588%201.35447%206.41783%203.91758L6.19946%204.12594C3.8057%206.39527%202.31429%209.12841%201.97882%2012.2398L1.9517%2012.5072C1.84546%2013.5317%201.75664%2014.5573%201.6696%2015.5832L1.64709%2015.849C1.5766%2016.6793%201.50577%2017.5096%201.43704%2018.34C1.15085%2021.8099%200.551724%2027.9025%200%2032C0.0280594%2031.6095%206.62069%2029.439%208.15918%2020.5723L8.17895%2020.341C8.29489%2018.9839%208.56802%2018.3915%209.34054%2017.6062C10.142%2016.9548%2011.0921%2016.6462%2012.1706%2016.6456L12.448%2016.6495C13.2011%2016.6543%2013.9463%2016.6863%2014.6963%2016.7458C16.7147%2016.9076%2018.8261%2016.9833%2020.6118%2016.0006C22.1938%2015.0474%2023.8514%2012.3926%2024.2386%2010.7746C24.0732%2010.7746%2024.0732%2010.7746%2023.8836%2010.9079C22.7968%2011.6857%2021.3964%2011.9367%2020.0389%2011.9112C19.9037%2011.9085%2019.7685%2011.9066%2019.6333%2011.9052C18.7555%2011.8977%2017.8832%2011.8639%2017.008%2011.8018C14.6311%2011.6313%2012.2081%2011.5489%209.93103%2012.2398L9.6844%2012.3154C11.5862%206.90251%2014.1458%205.6994%2018.2069%205.36593C20.1417%205.20706%2021.5894%205.16684%2023.4679%205.17954L23.6582%205.18065C25.6404%205.20034%2027.6503%204.82447%2029.14%203.58082L29.2711%203.4656L29.4727%203.29593L29.6846%203.09875Z%22%2F%3E%3C%2Fsvg%3E",
    "favicon": "https://floot.com/favicon.ico",
    "ogImage": "https://floot.com/opengraph-image?c602dc9785a48fdc",
    "logoHref": "/en"
  },
  "__llm_logo_reasoning": {
    "selectedIndex": 0,
    "reasoning": "Selected #0 because it is located in the header, is visible, and matches the brand inferred from the URL and page title ('Floot').",
    "confidence": 0.9,
    "source": "llm"
  },
  "__llm_button_reasoning": {
    "primary": {
      "index": 0,
      "text": "Start building →",
      "reasoning": "Button #0 with text 'Start building →' is likely the primary CTA due to its action-oriented text and prominent dark background color (#000000), which stands out against the light background."
    },
    "secondary": {
      "index": 5,
      "text": "Show more",
      "reasoning": "Button #5 with text 'Show more' is chosen as secondary due to its lighter background color (#FFFFFF) and less prominent action, making it suitable as a secondary option."
    },
    "confidence": 0.9
  },
  "personality": {
    "tone": "modern",
    "energy": "medium",
    "targetAudience": "web developers and designers"
  },
  "designSystem": {
    "framework": "custom",
    "componentLibrary": ""
  },
  "confidence": {
    "buttons": 0.9,
    "colors": 0.9,
    "overall": 0.9
  },
  "__llm_metadata": {
    "logoSelection": {
      "llmCalled": true,
      "llmSucceeded": true,
      "finalSource": "llm",
      "rawLogoSelection": {
        "selectedLogoIndex": 0,
        "selectedLogoReasoning": "Selected #0 because it is located in the header, is visible, and matches the brand inferred from the URL and page title ('Floot').",
        "confidence": 0.9
      }
    },
    "buttonClassification": {
      "llmCalled": true,
      "llmSucceeded": true
    }
  }
}