# Bristle Brand Identity A complete profile of **Bristle**'s visual system — colors, typography, components, and personality — extracted from https://bristlehealth.com/. Built for designers, agents, and AI tools. - Page: https://characterquilt.com/branding/bristle - Machine-readable JSON: https://characterquilt.com/branding/bristle.json - Per-page llms.txt: https://characterquilt.com/branding/bristle/llms.txt ## Quick Facts | Field | Value | |---|---| | Primary | #2458FF | | Accent | #F75F37 | | Body Font | Aeonik | | Heading Font | Aeonik | ## Color Palette - primary: #2458FF - secondary: #FEDFC3 - accent: #F75F37 - background: #FFFFFF - textPrimary: #303030 - link: #F75F37 ## Typography - primary: Aeonik — https://fonts.google.com/specimen/Aeonik - heading: Aeonik — https://fonts.google.com/specimen/Aeonik ## Visual Assets - Logo: https://www.bristlehealth.com/cdn/shop/files/bristle.svg?v=1741646680&width=200 - Favicon: https://www.bristlehealth.com/cdn/shop/files/Bristle_Logo_C_C_avatar.png?crop=center&height=32&v=1675981195&width=32 - Social card (og:image): http://www.bristlehealth.com/cdn/shop/files/Group_279493_78d9fe44-a5e3-415a-a7c0-9c25726cfa89.jpg?v=1682616280 ## UI Components - input: background=#FFFFFF, textColor=#303030, borderColor=#CBC9C5, borderRadius=10px, shadow=none - buttonPrimary: background=#2458FF, textColor=#2458FF, borderColor=#2458FF, borderRadius=100px, shadow=none - buttonSecondary: background=#303030, textColor=#FFFFFF, borderRadius=100px, shadow=none ## Brand Personality Tone: modern · Energy: medium · Audience: health-conscious individuals ## Bristle Brand in the Wild Real-world brand assets — ads, campaigns, marketing materials. - **Reddit AMA with Bristle Founders** - Image: http://www.bristlehealth.com/cdn/shop/articles/62e0447aa293e6c20f93394b_reddit-logo-16.png?v=1666549579 - Source: https://www.bristlehealth.com/blogs/oral-microbiome/reddit-ama-with-bristle-founders?srsltid=AfmBOopWoGcdqqmTUEVV6XaqwchkoJCi5qH3NxgRhyqBQJisEhzALtg2 - **Bristle research - Blog** - Image: https://www.bristlehealth.com/cdn/shop/articles/DALL_E_2023-11-10_11.20.15_-_Imagine_a_child_s_playroom_filled_with_unique_toys_that_resemble_bacteria._The_room_is_brightly_lit_and_cheerful_with_colorful_walls_and_a_soft_carpe_940x940.png?v=1699640672 - Source: https://www.bristlehealth.com/pages/bristle-research-blog?srsltid=AfmBOoq96QgdDGD0Kb2euxF-zNlyGp17L6zKk3bmJ2N-j-vAY4V-0CZ0 - **Sample Collection Timing Guide** - Image: https://www.notion.so/image/https:%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Faa525eb4-bf89-49a1-b0f9-020b5b5f0096%2Ff7629e69-39d0-4966-a4b9-6df1ad389268%2Ficons8-team-dhZtNlvNE8M-unsplash.jpg?table=block&id=b0c7c980-6297-4ed9-a5b1-08be56285d4d&cache=v2 - Source: https://careproviders.bristlehealth.com/sample-collection-timing-guide - **SPIT! What Your Mouth Microbes Say About Your Health – Bristle** - Image: http://www.bristlehealth.com/cdn/shop/articles/62e045b30edd38a7713cd50c_51zUP26fIIL.jpg?v=1665747104 - Source: https://www.bristlehealth.com/blogs/podcast/spit-what-your-mouth-microbes-say-about-your-health?srsltid=AfmBOorVD2hlDB3QxizPvH1VrViW6Kr3AeVP0gq7uyg_nWEzfZC1f6PA - **Provider Sample Report – Bristle** - Image: https://cdn.shopify.com/s/files/1/0527/7574/7741/files/Group_279522.png?v=1716416106 - Source: https://www.bristlehealth.com/pages/provider-sample-report?srsltid=AfmBOop3OIpZ3qdoflWGxqKUNg2Ml2g6Hj80d6urOCpaOGEcMIpj7CTW - **The Oral Microbiome Revolution – Bristle** - Image: https://i.ytimg.com/vi/5T4OrwOKYfg/maxresdefault.jpg - Source: https://www.bristlehealth.com/blogs/podcast/the-oral-microbiome-revolution?srsltid=AfmBOor7FFSezu3e8nr0VaZuxE-Vkjnv68U0qO2_89_lhe1pDARs8Zt7 ## 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 ```json { "colorScheme": "light", "fonts": [ { "family": "Aeonik", "role": "body" }, { "family": "Arial", "role": "body" }, { "family": "Roboto", "role": "body" }, { "family": "Helvetica", "role": "body" } ], "colors": { "primary": "#2458FF", "secondary": "#FEDFC3", "accent": "#F75F37", "background": "#FFFFFF", "textPrimary": "#303030", "link": "#F75F37" }, "typography": { "fontFamilies": { "primary": "Aeonik", "heading": "Aeonik" }, "fontStacks": { "heading": [ "Aeonik" ], "body": [ "Aeonik" ], "paragraph": [ "Aeonik" ] }, "fontSizes": { "h1": "42px", "h2": "25px", "body": "14px" } }, "spacing": { "baseUnit": 4, "borderRadius": "16px" }, "components": { "input": { "background": "#FFFFFF", "textColor": "#303030", "borderColor": "#CBC9C5", "borderRadius": "10px", "borderRadiusCorners": { "topLeft": "10px", "topRight": "10px", "bottomRight": "10px", "bottomLeft": "10px" }, "shadow": "none" }, "buttonPrimary": { "background": "#2458FF", "textColor": "#2458FF", "borderColor": "#2458FF", "borderRadius": "100px", "borderRadiusCorners": { "topLeft": "100px", "topRight": "100px", "bottomRight": "100px", "bottomLeft": "100px" }, "shadow": "none" }, "buttonSecondary": { "background": "#303030", "textColor": "#FFFFFF", "borderRadius": "100px", "borderRadiusCorners": { "topLeft": "100px", "topRight": "100px", "bottomRight": "100px", "bottomLeft": "100px" }, "shadow": "none" } }, "images": { "logo": "https://www.bristlehealth.com/cdn/shop/files/bristle.svg?v=1741646680&width=200", "favicon": "https://www.bristlehealth.com/cdn/shop/files/Bristle_Logo_C_C_avatar.png?crop=center&height=32&v=1675981195&width=32", "ogImage": "http://www.bristlehealth.com/cdn/shop/files/Group_279493_78d9fe44-a5e3-415a-a7c0-9c25726cfa89.jpg?v=1682616280", "logoHref": "https://www.bristlehealth.com", "logoAlt": "Bristle" }, "__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 'Bristle'.", "confidence": 0.9, "source": "llm" }, "__llm_button_reasoning": { "primary": { "index": 1, "text": "Get your test now", "reasoning": "Button #1 uses the vibrant brand color #2458FF, which is a strong indicator of a primary CTA. The text 'Get your test now' is action-oriented, making it the main call-to-action." }, "secondary": { "index": 0, "text": "Get my Bristle test now", "reasoning": "Button #0 has a different background color (#303030) and the text 'Get my Bristle test now' suggests a secondary action related to the primary CTA." }, "confidence": 0.95 }, "personality": { "tone": "modern", "energy": "medium", "targetAudience": "health-conscious individuals" }, "designSystem": { "framework": "custom", "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 'Bristle'.", "confidence": 0.9 } }, "buttonClassification": { "llmCalled": true, "llmSucceeded": true } } } ```