# Caddy Brand Identity A complete profile of **Caddy**'s visual system — colors, typography, components, and personality — extracted from https://trycaddy.ai/. Built for designers, agents, and AI tools. - Page: https://characterquilt.com/branding/caddy - Machine-readable JSON: https://characterquilt.com/branding/caddy.json - Per-page llms.txt: https://characterquilt.com/branding/caddy/llms.txt ## Quick Facts | Field | Value | |---|---| | Primary | #000000 | | Accent | #222222 | | Body Font | CircularXX | | Heading Font | Crimson Pro | ## Color Palette - primary: #000000 - accent: #222222 - background: #FFFFFF - textPrimary: #222222 - link: #000000 ## Typography - primary: CircularXX — https://fonts.google.com/specimen/CircularXX - heading: Crimson Pro — https://fonts.google.com/specimen/Crimson+Pro ## Visual Assets - Favicon: https://trycaddy.ai/_assets/v11/d9f07dfb54be7332c9b6c20d63a18b78a2b8b735.png - Social card (og:image): https://trycaddy.ai/_assets/v11/c75274d0022d765799c221e869cdeca9a2dbd01d.png ## UI Components - input: background=transparent, textColor=#222222, borderColor=null, borderRadius=0px, shadow=none - buttonPrimary: background=#222222, textColor=#000000, borderRadius=100px, shadow=none ## Brand Personality Tone: modern · Energy: medium · Audience: tech-savvy professionals ## Caddy Brand in the Wild Real-world brand assets — ads, campaigns, marketing materials. - **Caddy** - Image: https://trycaddy.ai/_assets/v11/c75274d0022d765799c221e869cdeca9a2dbd01d.png - Source: https://trycaddy.ai/ - **Digitas dreams up Buick promo with Tiger Woods as caddy – Boston Herald** - Image: https://www.bostonherald.com/wp-content/uploads/migration/2008/06/16/5ae3cc6233_tigerad.jpg?w=1800&resize=1800,1800 - Source: https://www.bostonherald.com/2008/06/17/digitas-dreams-up-buick-promo-with-tiger-woods-as-caddy/ - **Checklist Caddy Daily Operator Inspection System** - Image: https://lifttruck.com/wp-content/uploads/2021/03/Checklist-Caddy2.png - Source: https://lifttruck.com/product/checklist-caddy/ - **Caddy in Docker? Rube like me? I made a user-configurable wildcard landing page that includes a Caddyfile editor with LKG backup and structure validation. : r/homelab** - Image: https://preview.redd.it/caddy-in-docker-rube-like-me-i-made-a-user-configurable-v0-q25h8z8cvt6g1.jpg?width=1054&format=pjpg&auto=webp&s=29157fecdd70c49369157257c5d317f3d794a318 - Source: https://www.reddit.com/r/homelab/comments/1pl1ghz/caddy_in_docker_rube_like_me_i_made_a/ - **Btinvest.com.sg: Caddy, Chauffeur, Gardener • Ads of the World™ | Part of The Clio Network** - Image: https://image.adsoftheworld.com/d1wm2dzg6ocrit3qys50dsf7a2cv - Source: https://www.adsoftheworld.com/campaigns/caddy - **Uli Report, Caddy week, with Anthony Barela** - Image: https://i.ytimg.com/vi/S2EAcgnikcc/sddefault.jpg - Source: https://www.youtube.com/watch?v=S2EAcgnikcc ## 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": "CircularXX", "role": "body" }, { "family": "Crimson Pro", "role": "heading" } ], "colors": { "primary": "#000000", "accent": "#222222", "background": "#FFFFFF", "textPrimary": "#222222", "link": "#000000" }, "typography": { "fontFamilies": { "primary": "CircularXX", "heading": "Crimson Pro" }, "fontStacks": { "heading": [ "Crimson Pro", "sans-serif" ], "body": [ "ui-sans-serif", "system-ui", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" ], "paragraph": [ "CircularXX", "sans-serif" ] }, "fontSizes": { "h1": "20px", "h2": "16px", "body": "16px" } }, "spacing": { "baseUnit": 4, "borderRadius": "0px" }, "components": { "input": { "background": "transparent", "textColor": "#222222", "borderColor": null, "borderRadius": "0px", "borderRadiusCorners": { "topLeft": "0px", "topRight": "0px", "bottomRight": "0px", "bottomLeft": "0px" }, "shadow": "none" }, "buttonPrimary": { "background": "#222222", "textColor": "#000000", "borderRadius": "100px", "borderRadiusCorners": { "topLeft": "100px", "topRight": "100px", "bottomRight": "100px", "bottomLeft": "100px" }, "shadow": "none" } }, "images": { "logo": null, "favicon": "https://trycaddy.ai/_assets/v11/d9f07dfb54be7332c9b6c20d63a18b78a2b8b735.png", "ogImage": "https://trycaddy.ai/_assets/v11/c75274d0022d765799c221e869cdeca9a2dbd01d.png" }, "__llm_button_reasoning": { "primary": { "index": 0, "text": "Get access", "reasoning": "The button labeled 'Get access' is the only button available and uses a dark background color (#222222), which is distinct and stands out against the light background. It serves as the main call-to-action for users to engage with the site." }, "secondary": { "index": -1, "text": "N/A", "reasoning": "There is only one button present, so no secondary button can be identified." }, "confidence": 0.95 }, "personality": { "tone": "modern", "energy": "medium", "targetAudience": "tech-savvy professionals" }, "designSystem": { "framework": "tailwind", "componentLibrary": "" }, "confidence": { "buttons": 0.95, "colors": 0.9, "overall": 0.925 }, "__llm_metadata": { "logoSelection": { "llmCalled": false, "llmSucceeded": false, "finalSource": "none" }, "buttonClassification": { "llmCalled": true, "llmSucceeded": true } } } ```