# Duffel Brand Identity A complete profile of **Duffel**'s visual system — colors, typography, components, and personality — extracted from https://duffel.com/. Built for designers, agents, and AI tools. - Page: https://characterquilt.com/branding/duffel - Machine-readable JSON: https://characterquilt.com/branding/duffel.json - Per-page llms.txt: https://characterquilt.com/branding/duffel/llms.txt ## Quick Facts | Field | Value | |---|---| | Primary | #AFAABF | | Accent | #100024 | | Body Font | Segoe UI | | Heading Font | GT America | ## Color Palette - primary: #AFAABF - secondary: #E5F8F4 - accent: #100024 - background: #F9F8FC - textPrimary: #100024 - link: #100024 ## Typography - primary: Segoe UI — https://fonts.google.com/specimen/Segoe+UI - heading: GT America — https://fonts.google.com/specimen/GT+America ## Visual Assets - Logo: data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%20170%2040%22%20fill%3D%22var(--purple-200)%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20data-fc-idx%3D%220%22%3E%3Ctitle%20style%3D%22fill%3A%20rgb(16%2C%200%2C%2036)%20!important%3B%22%3EDuffel%20Lockup%3C%2Ftitle%3E%3Cpath%20d%3D%22M151.018%2016.0692C154.557%2016.0692%20155.766%2018.9531%20156.236%2021.1144H145.806C146.362%2018.1655%20148.133%2016.0692%20151.018%2016.0692ZM151.998%2030.3449C148.672%2030.3449%20146.454%2028.1913%20145.81%2025.1449H160.957C160.957%2025.1449%20161.077%2024.3839%20161.077%2023.4498C161.077%2016.8568%20157.75%2012.0418%20151.018%2012.0418C144.822%2012.0418%20140.828%2017.1712%20140.828%2023.2396C140.828%2029.3084%20144.314%2034.4378%20151.726%2034.4378C157.453%2034.4378%20161.113%2030.8467%20161.113%2030.8467L158.673%2027.5811C158.673%2027.5811%20155.833%2030.3449%20151.998%2030.3449ZM164.712%2033.9594H169.748V5.05417H164.712V33.9594ZM135.778%204.60472C137.89%204.60472%20140.316%205.16297%20140.316%205.16297V9.44125C138.573%208.79118%20133.722%207.43378%20133.722%2011.5588V12.4808H140.316V16.6289H133.722V33.9592H128.687V11.085C128.687%204.80458%20133.664%204.60472%20135.778%204.60472ZM121.489%204.60472C123.602%204.60472%20126.027%205.16297%20126.027%205.16297V9.44125C124.284%208.79118%20119.434%207.43378%20119.434%2011.5588V12.4808H126.027V16.6289H119.434V33.9592H114.398V16.6289H110.676V12.4808H114.398V11.085C114.398%204.80458%20119.376%204.60472%20121.489%204.60472ZM102.705%2012.4797H107.741V33.9582H102.705V31.0169C101.49%2032.4511%2099.2317%2034.3969%2095.9141%2034.3969C90.6607%2034.3969%2087.9961%2030.7285%2087.9961%2026.5105C87.9961%2022.2921%2087.9961%2012.4797%2087.9961%2012.4797H93.0319C93.0319%2012.4797%2093.0319%2022.7615%2093.0319%2025.0745C93.0319%2027.3879%2094.1602%2029.7998%2097.7486%2029.7998C100.098%2029.7998%20101.714%2028.3101%20102.705%2026.4564V12.4797ZM70.4821%2029.2822H64.1382V10.7178H70.4821C75.6082%2010.7178%2079.3442%2014.8739%2079.3442%2020.0003C79.3442%2025.1268%2075.6082%2029.2822%2070.4821%2029.2822ZM70.4828%206.04224H59.0234V33.9611H70.4828C78.1921%2033.9611%2084.4418%2027.7111%2084.4418%2020.0018C84.4418%2012.292%2078.1921%206.04224%2070.4828%206.04224Z%22%20style%3D%22fill%3A%20rgb(16%2C%200%2C%2036)%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M0%2010.0002V30.0002C2.76145%2030.0002%205.00007%2025.5229%205.00007%2020C5.00007%2014.4774%202.76145%2010.0002%200%2010.0002ZM9.51172%206.03906V33.9579C15.0346%2033.9579%2019.5119%2027.7079%2019.5119%2019.9984C19.5119%2012.2888%2015.0346%206.03906%209.51172%206.03906ZM44.0234%2020C44.0234%2031.0458%2035.0692%2040%2024.0234%2040V0C35.0692%200%2044.0234%208.95449%2044.0234%2020Z%22%20style%3D%22fill%3A%20rgb(16%2C%200%2C%2036)%20!important%3B%22%2F%3E%3C%2Fsvg%3E - Favicon: https://duffel.com/images/favicon/favicon-96x96.png - Social card (og:image): https://a.storyblok.com/f/178494/2400x1254/b6cc88c7bb/homepage.png ## UI Components - input: background=#100024, textColor=#FFFFFF, borderColor=null, borderRadius=6px, shadow=rgb(237, 237, 243) 0px 0px 0px 1px inset - buttonPrimary: background=#100024, textColor=#FFFFFF, borderRadius=6px, shadow=rgb(16, 0, 36) 0px 0px 0px 2px inset - buttonSecondary: background=#FFFFFF, textColor=#100024, borderRadius=6px, shadow=rgb(226, 226, 232) 0px 0px 0px 1px inset ## Brand Personality Tone: modern · Energy: medium · Audience: developers and tech companies ## Duffel Brand in the Wild Real-world brand assets — ads, campaigns, marketing materials. - **Paying with customer cards | Duffel Documentation** - Image: https://duffel.com/images/docs/paying_travel_suppliers_with_customer_cards/3ds_challenge.png - Source: https://duffel.com/docs/guides/paying-with-customer-cards - **Stays key concepts | Duffel Documentation** - Image: https://duffel.com/images/docs/stays/data_model.png - Source: https://duffel.com/docs/api/overview/stays-key-concepts - **Duffel - Blog** - Image: https://storage.ghost.io/c/d8/b3/d8b362ca-a000-46f0-adcc-5de4fc85d152/content/images/2022/06/duffel-blog-web-accessibility.jpg - Source: https://duffel.com/blog - **Getting Started with Stays | Duffel Documentation** - Image: https://duffel.com/images/docs/stays/booking-confirmation-page.png - Source: https://duffel.com/docs/guides/getting-started-with-stays - **What happens when I book a flight? | Duffel** - Image: https://storage.ghost.io/c/d8/b3/d8b362ca-a000-46f0-adcc-5de4fc85d152/content/images/2021/02/-Blog--Travel-Industry--Share-Image-09.02.21.png - Source: https://duffel.com/blog/what-happens-when-i-book-a-flight ## 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": "GT America", "role": "heading" }, { "family": "Segoe UI", "role": "body" }, { "family": "Roboto", "role": "body" }, { "family": "Helvetica Neue", "role": "body" }, { "family": "Arial", "role": "body" } ], "colors": { "primary": "#AFAABF", "secondary": "#E5F8F4", "accent": "#100024", "background": "#F9F8FC", "textPrimary": "#100024", "link": "#100024" }, "typography": { "fontFamilies": { "primary": "Segoe UI", "heading": "GT America" }, "fontStacks": { "heading": [ "GT America", "-apple-system", "blinkmacsystemfont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "sans-serif" ], "body": [ "GT America", "system-ui", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "Noto Sans", "sans-serif", "Apple Color Emoji", "Noto Color Emoji" ], "paragraph": [ "GT America", "-apple-system", "blinkmacsystemfont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "sans-serif" ] }, "fontSizes": { "h1": "60px", "h2": "20px", "body": "18px" } }, "spacing": { "baseUnit": 4, "borderRadius": "4px" }, "components": { "input": { "background": "#100024", "textColor": "#FFFFFF", "borderColor": null, "borderRadius": "6px", "borderRadiusCorners": { "topLeft": "6px", "topRight": "6px", "bottomRight": "6px", "bottomLeft": "6px" }, "shadow": "rgb(237, 237, 243) 0px 0px 0px 1px inset" }, "buttonPrimary": { "background": "#100024", "textColor": "#FFFFFF", "borderRadius": "6px", "borderRadiusCorners": { "topLeft": "6px", "topRight": "6px", "bottomRight": "6px", "bottomLeft": "6px" }, "shadow": "rgb(16, 0, 36) 0px 0px 0px 2px inset" }, "buttonSecondary": { "background": "#FFFFFF", "textColor": "#100024", "borderRadius": "6px", "borderRadiusCorners": { "topLeft": "6px", "topRight": "6px", "bottomRight": "6px", "bottomLeft": "6px" }, "shadow": "rgb(226, 226, 232) 0px 0px 0px 1px inset" } }, "images": { "logo": "data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%20170%2040%22%20fill%3D%22var(--purple-200)%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20data-fc-idx%3D%220%22%3E%3Ctitle%20style%3D%22fill%3A%20rgb(16%2C%200%2C%2036)%20!important%3B%22%3EDuffel%20Lockup%3C%2Ftitle%3E%3Cpath%20d%3D%22M151.018%2016.0692C154.557%2016.0692%20155.766%2018.9531%20156.236%2021.1144H145.806C146.362%2018.1655%20148.133%2016.0692%20151.018%2016.0692ZM151.998%2030.3449C148.672%2030.3449%20146.454%2028.1913%20145.81%2025.1449H160.957C160.957%2025.1449%20161.077%2024.3839%20161.077%2023.4498C161.077%2016.8568%20157.75%2012.0418%20151.018%2012.0418C144.822%2012.0418%20140.828%2017.1712%20140.828%2023.2396C140.828%2029.3084%20144.314%2034.4378%20151.726%2034.4378C157.453%2034.4378%20161.113%2030.8467%20161.113%2030.8467L158.673%2027.5811C158.673%2027.5811%20155.833%2030.3449%20151.998%2030.3449ZM164.712%2033.9594H169.748V5.05417H164.712V33.9594ZM135.778%204.60472C137.89%204.60472%20140.316%205.16297%20140.316%205.16297V9.44125C138.573%208.79118%20133.722%207.43378%20133.722%2011.5588V12.4808H140.316V16.6289H133.722V33.9592H128.687V11.085C128.687%204.80458%20133.664%204.60472%20135.778%204.60472ZM121.489%204.60472C123.602%204.60472%20126.027%205.16297%20126.027%205.16297V9.44125C124.284%208.79118%20119.434%207.43378%20119.434%2011.5588V12.4808H126.027V16.6289H119.434V33.9592H114.398V16.6289H110.676V12.4808H114.398V11.085C114.398%204.80458%20119.376%204.60472%20121.489%204.60472ZM102.705%2012.4797H107.741V33.9582H102.705V31.0169C101.49%2032.4511%2099.2317%2034.3969%2095.9141%2034.3969C90.6607%2034.3969%2087.9961%2030.7285%2087.9961%2026.5105C87.9961%2022.2921%2087.9961%2012.4797%2087.9961%2012.4797H93.0319C93.0319%2012.4797%2093.0319%2022.7615%2093.0319%2025.0745C93.0319%2027.3879%2094.1602%2029.7998%2097.7486%2029.7998C100.098%2029.7998%20101.714%2028.3101%20102.705%2026.4564V12.4797ZM70.4821%2029.2822H64.1382V10.7178H70.4821C75.6082%2010.7178%2079.3442%2014.8739%2079.3442%2020.0003C79.3442%2025.1268%2075.6082%2029.2822%2070.4821%2029.2822ZM70.4828%206.04224H59.0234V33.9611H70.4828C78.1921%2033.9611%2084.4418%2027.7111%2084.4418%2020.0018C84.4418%2012.292%2078.1921%206.04224%2070.4828%206.04224Z%22%20style%3D%22fill%3A%20rgb(16%2C%200%2C%2036)%20!important%3B%22%2F%3E%3Cpath%20d%3D%22M0%2010.0002V30.0002C2.76145%2030.0002%205.00007%2025.5229%205.00007%2020C5.00007%2014.4774%202.76145%2010.0002%200%2010.0002ZM9.51172%206.03906V33.9579C15.0346%2033.9579%2019.5119%2027.7079%2019.5119%2019.9984C19.5119%2012.2888%2015.0346%206.03906%209.51172%206.03906ZM44.0234%2020C44.0234%2031.0458%2035.0692%2040%2024.0234%2040V0C35.0692%200%2044.0234%208.95449%2044.0234%2020Z%22%20style%3D%22fill%3A%20rgb(16%2C%200%2C%2036)%20!important%3B%22%2F%3E%3C%2Fsvg%3E", "favicon": "https://duffel.com/images/favicon/favicon-96x96.png", "ogImage": "https://a.storyblok.com/f/178494/2400x1254/b6cc88c7bb/homepage.png", "logoHref": "https://duffel.com", "logoAlt": "Duffel Lockup" }, "__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 'Duffel'.", "confidence": 0.95, "source": "llm" }, "__llm_button_reasoning": { "primary": { "index": 0, "text": "Sign up", "reasoning": "Button #0 ('Sign up') is the primary CTA due to its action-oriented text and dark background color (#100024), which stands out as a strong call-to-action." }, "secondary": { "index": 14, "text": "Learn more→", "reasoning": "Button #1 ('Learn more→') is selected as the secondary CTA because it has a different background color (#FFFFFF) and serves a supportive role to the primary action." }, "confidence": 0.95 }, "personality": { "tone": "modern", "energy": "medium", "targetAudience": "developers and tech companies" }, "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 'Duffel'.", "confidence": 0.95 } }, "buttonClassification": { "llmCalled": true, "llmSucceeded": true } } } ```