archilabs.json
ArchiLabs Brand Identity
A complete profile of ArchiLabs's visual system — colors, typography, components, and personality — extracted from https://archilabs.ai. Built for designers, agents, and AI tools.
- Page: https://characterquilt.com/branding/archilabs
- Machine-readable JSON: https://characterquilt.com/branding/archilabs.json
- Per-page llms.txt: https://characterquilt.com/branding/archilabs/llms.txt
Quick Facts
| Field | Value |
|---|---|
| Primary | #0A101D |
| Accent | #8CC63F |
| Body Font | GeistSans |
| Heading Font | GeistSans |
Color Palette
- primary: #0A101D
- secondary: #070C18
- accent: #8CC63F
- background: #FFFFFF
- textPrimary: #030712
- link: #030712
Typography
- primary: GeistSans — https://fonts.google.com/specimen/GeistSans
- heading: GeistSans — https://fonts.google.com/specimen/GeistSans
Visual Assets
UI Components
- input: background=#111825, textColor=#FFFFFF, borderColor=#374151, borderRadius=3.2px, shadow=none
- buttonPrimary: background=#8CC63F, textColor=#FFFFFF, borderRadius=9999px, shadow=rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px
- buttonSecondary: background=#2563EB, textColor=#FFFFFF, borderRadius=3.2px, shadow=none
Brand Personality
Tone: modern · Energy: medium · Audience: architects and designers
ArchiLabs Brand in the Wild
Real-world brand assets — ads, campaigns, marketing materials.
- ArchiLabs Blog Posts
- Archilabs Blog Categories
- AI Agents for Architecture: Transforming Revit Workflows
- Google AI Nano Banana for Architecture Renderings and Images
- Getting Started with pyRevit to Automate BIM Workflows
- Revit AI Tools: Learn how to automate tasks in Revit with AI
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:
- Open the company's homepage in a browser with DevTools open.
- In the Network tab, filter by "Font" (or by extension: woff2, woff, ttf, otf).
- Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.
- For each captured font URL: right-click → Save As to download the file locally.
- 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": "GeistSans",
"role": "body"
}
],
"colors": {
"primary": "#0A101D",
"secondary": "#070C18",
"accent": "#8CC63F",
"background": "#FFFFFF",
"textPrimary": "#030712",
"link": "#030712"
},
"typography": {
"fontFamilies": {
"primary": "GeistSans",
"heading": "GeistSans"
},
"fontStacks": {
"heading": [
"GeistSans"
],
"body": [
"GeistSans"
],
"paragraph": [
"GeistSans"
]
},
"fontSizes": {
"h1": "72px",
"h2": "16px",
"body": "14px"
}
},
"spacing": {
"baseUnit": 4,
"borderRadius": "5px"
},
"components": {
"input": {
"background": "#111825",
"textColor": "#FFFFFF",
"borderColor": "#374151",
"borderRadius": "3.2px",
"borderRadiusCorners": {
"topLeft": "3.2px",
"topRight": "3.2px",
"bottomRight": "3.2px",
"bottomLeft": "3.2px"
},
"shadow": "none"
},
"buttonPrimary": {
"background": "#8CC63F",
"textColor": "#FFFFFF",
"borderRadius": "9999px",
"borderRadiusCorners": {
"topLeft": "9999px",
"topRight": "9999px",
"bottomRight": "9999px",
"bottomLeft": "9999px"
},
"shadow": "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px"
},
"buttonSecondary": {
"background": "#2563EB",
"textColor": "#FFFFFF",
"borderRadius": "3.2px",
"borderRadiusCorners": {
"topLeft": "3.2px",
"topRight": "3.2px",
"bottomRight": "3.2px",
"bottomLeft": "3.2px"
},
"shadow": "none"
}
},
"images": {
"logo": "https://archilabs.ai/archilabs-logo-text.png",
"favicon": "https://archilabs.ai/favicon.ico",
"ogImage": null,
"logoHref": "/",
"logoAlt": "ArchiLabs Logo"
},
"__llm_logo_reasoning": {
"selectedIndex": 0,
"reasoning": "Selected #0 because it is visible, located in the header, links to the homepage, and the alt text matches the brand name 'ArchiLabs'.",
"confidence": 0.9,
"source": "llm"
},
"__llm_button_reasoning": {
"primary": {
"index": 2,
"text": "Request Demo",
"reasoning": "Button #2 has a vibrant green background (#8CC63F), which stands out as a primary call-to-action with the text 'Request Demo'. This color is distinct and eye-catching, making it suitable for the primary CTA."
},
"secondary": {
"index": 7,
"text": "Accept All",
"reasoning": "Button #7 has a vibrant blue background (#2563EB) and the text 'Accept All'. It is from a different color group than the primary button, making it a suitable secondary CTA."
},
"confidence": 0.95
},
"personality": {
"tone": "modern",
"energy": "medium",
"targetAudience": "architects and designers"
},
"designSystem": {
"framework": "tailwind",
"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 the alt text matches the brand name 'ArchiLabs'.",
"confidence": 0.9
}
},
"buttonClassification": {
"llmCalled": true,
"llmSucceeded": true
}
}
}