Odeko Brand Identity
A complete profile of Odeko's visual system — colors, typography, components, and personality — extracted from http://www.odeko.com. Built for designers, agents, and AI tools.
Color Palette
Brand palette extracted from http://www.odeko.com.
Typography
Each font links to its Google Fonts page where available.
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.
Visual Assets

UI Components
Live previews rendered using Odeko's actual button styles.
Brand Personality
Odeko Brand in the Wild
Real-world brand assets — ads, campaigns, and marketing materials.
Frequently Asked Questions
What is Odeko's primary brand color?
Odeko's primary brand color is #FFD100. It anchors the visual identity across their website, product UI, and marketing materials.
What font does Odeko use?
Odeko uses Roobert for body text and Residenz Grotesk for headings. Fonts were detected on http://www.odeko.com as part of their live design system.
Does Odeko use a light or dark theme?
Odeko's primary site uses a light color scheme, with a background of #FFFFDF.
Where can I find Odeko's logo?
Odeko's logo is available directly on their site (http://www.odeko.com). The current logo URL is included in the machine-readable JSON profile linked above.
How was this brand profile generated?
This profile was extracted from http://www.odeko.com using the Firecrawl branding extraction API, which inspects the live page's CSS, fonts, color tokens, and component styles. It is not affiliated with or endorsed by Odeko.
Methodology
Brand data on this page was extracted from http://www.odeko.com on using the Firecrawl branding extraction API, which inspects each site's live CSS, font network requests, color tokens, and component styles. Brand-in-the-wild images were sourced via Google Image Search restricted to ad/webinar/report queries and link out to their original third-party publishers; we link to the source rather than re-hosting third-party content. This page is published by CharacterQuilt and is not affiliated with or endorsed by Odeko.
Machine-Readable Profile
Direct endpoints for agents, designers, and tooling. No login or auth required.
{
"colorScheme": "light",
"fonts": [
{
"family": "Roobert",
"role": "body"
},
{
"family": "Residenz Grotesk",
"role": "heading"
}
],
"colors": {
"primary": "#FFD100",
"accent": "#FFD100",
"background": "#FFFFDF",
"textPrimary": "#40180B",
"link": "#40180B"
},
"typography": {
"fontFamilies": {
"primary": "Roobert",
"heading": "Residenz Grotesk"
},
"fontStacks": {
"heading": [
"ResidenzGroteskMedium"
],
"body": [
"Times New Roman"
],
"paragraph": [
"Roobert"
]
},
"fontSizes": {
"h1": "100px",
"h2": "46px",
"body": "18px"
}
},
"spacing": {
"baseUnit": 4,
"borderRadius": "5px"
},
"components": {
"input": {
"background": "#FFFFDF",
"textColor": "#40180B",
"borderColor": "#40180B",
"borderRadius": "25px",
"borderRadiusCorners": {
"topLeft": "25px",
"topRight": "25px",
"bottomRight": "25px",
"bottomLeft": "25px"
},
"shadow": "none"
},
"buttonPrimary": {
"background": "#FFFFDF",
"textColor": "#40180B",
"borderColor": "#40180B",
"borderRadius": "50px",
"borderRadiusCorners": {
"topLeft": "50px",
"topRight": "50px",
"bottomRight": "50px",
"bottomLeft": "50px"
},
"shadow": "none"
},
"buttonSecondary": {
"background": "transparent",
"textColor": "#40180B",
"borderColor": "#40180B",
"borderRadius": "50px",
"borderRadiusCorners": {
"topLeft": "50px",
"topRight": "50px",
"bottomRight": "50px",
"bottomLeft": "50px"
},
"shadow": "none"
}
},
"images": {
"logo": "https://cdn.shopify.com/s/files/1/0561/3735/1242/files/odeko-logo.svg?v=1654043500",
"favicon": "https://odeko.com/cdn/shop/files/favicon_4d83c831-ffcb-453d-8ea4-88859d381f38_32x32.png?v=1654136572",
"ogImage": "https://odeko.com/cdn/shop/files/odeko-hero_46b24456-40a3-410e-8c38-4c89f46e9a36_1200x.jpg?v=1654135820",
"logoHref": "https://odeko.com",
"logoAlt": "ODEKO"
},
"__llm_logo_reasoning": {
"selectedIndex": 0,
"reasoning": "Selected #0 because it is visible, large, and matches the brand name 'ODEKO'. It is the most prominent logo on the page.",
"confidence": 0.95,
"source": "llm"
},
"__llm_button_reasoning": {
"primary": {
"index": 0,
"text": "Learn More",
"reasoning": "Button #0 'Learn More' is likely the primary CTA due to its action-oriented text and distinct styling with a filled background, making it stand out among the options."
},
"secondary": {
"index": 6,
"text": "Mobile Ordering",
"reasoning": "Button #6 'Mobile Ordering' is selected as secondary due to its transparent background, differentiating it from the primary button's filled style."
},
"confidence": 0.9
},
"personality": {
"tone": "modern",
"energy": "medium",
"targetAudience": "businesses and coffee shops"
},
"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 visible, large, and matches the brand name 'ODEKO'. It is the most prominent logo on the page.",
"confidence": 0.95
}
},
"buttonClassification": {
"llmCalled": true,
"llmSucceeded": true
}
}
} 