{
  "name": "Stardrift",
  "slug": "stardrift",
  "domain": "https://stardrift.ai",
  "sources": [
    "yc"
  ],
  "branding": {
    "colorScheme": "light",
    "fonts": [
      {
        "family": "Schibsted Grotesk",
        "role": "body"
      }
    ],
    "colors": {
      "primary": "#000000",
      "accent": "#000000",
      "background": "#FFFFFF",
      "textPrimary": "#2C2A2C",
      "link": "#000000"
    },
    "typography": {
      "fontFamilies": {
        "primary": "Schibsted Grotesk",
        "heading": "Schibsted Grotesk"
      },
      "fontStacks": {
        "heading": [
          "Schibsted Grotesk"
        ],
        "body": [
          "Schibsted Grotesk"
        ],
        "paragraph": [
          "Schibsted Grotesk"
        ]
      },
      "fontSizes": {
        "h1": "40px",
        "h2": "16px",
        "body": "16px"
      }
    },
    "spacing": {
      "baseUnit": 8,
      "borderRadius": "0px"
    },
    "components": {
      "input": {
        "background": "transparent",
        "textColor": "#2C2A2C",
        "borderColor": null,
        "borderRadius": "0px",
        "borderRadiusCorners": {
          "topLeft": "0px",
          "topRight": "0px",
          "bottomRight": "0px",
          "bottomLeft": "0px"
        },
        "shadow": "none"
      },
      "buttonPrimary": {
        "background": "#FFFFFF",
        "textColor": "#FFFFFF",
        "borderRadius": "6px",
        "borderRadiusCorners": {
          "topLeft": "6px",
          "topRight": "6px",
          "bottomRight": "6px",
          "bottomLeft": "6px"
        },
        "shadow": "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.2) 1px 3px 10px 0px, rgba(150, 148, 148, 0.3) -1px -1px 1px 0px inset, rgba(245, 243, 240, 0.4) 1px 1px 1px 0px inset"
      }
    },
    "images": {
      "logo": "https://stardrift.ai/_next/image?url=%2Flogo.png&w=64&q=75",
      "favicon": "https://stardrift.ai/favicon.ico",
      "ogImage": "https://stardrift.ai/og_image.png",
      "logoHref": "/",
      "logoAlt": "Stardrift"
    },
    "__llm_logo_reasoning": {
      "selectedIndex": 0,
      "reasoning": "Selected #0 because it is visible, matches the brand name 'Stardrift', and links to the homepage.",
      "confidence": 0.9,
      "source": "llm"
    },
    "__llm_button_reasoning": {
      "primary": {
        "index": 1,
        "text": "Sign up",
        "reasoning": "The 'Sign up' button is likely the primary CTA due to its action-oriented text, encouraging user engagement."
      },
      "secondary": {
        "index": 4,
        "text": "Plan a trip",
        "reasoning": "The 'Plan a trip' button serves as a secondary action, complementing the primary CTA by offering a related action."
      },
      "confidence": 0.8
    },
    "personality": {
      "tone": "modern",
      "energy": "medium",
      "targetAudience": "travel enthusiasts and tech-savvy users"
    },
    "designSystem": {
      "framework": "tailwind",
      "componentLibrary": ""
    },
    "confidence": {
      "buttons": 0.8,
      "colors": 0.9,
      "overall": 0.8500000000000001
    },
    "__llm_metadata": {
      "logoSelection": {
        "llmCalled": true,
        "llmSucceeded": true,
        "finalSource": "llm",
        "rawLogoSelection": {
          "selectedLogoIndex": 0,
          "selectedLogoReasoning": "Selected #0 because it is visible, matches the brand name 'Stardrift', and links to the homepage.",
          "confidence": 0.9
        }
      },
      "buttonClassification": {
        "llmCalled": true,
        "llmSucceeded": true
      }
    }
  },
  "images": [
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/stardrift/98ed74b2fe.webp",
      "alt": "launch_video",
      "source_url": "https://stardrift.ai/",
      "image_url": "https://i.vimeocdn.com/video/2095276361-0c7b4483861a60f2dccc9d52ce7efaea1d61bab23b6f985656e7b38fb54c1a0f-d?f=webp",
      "width": 3840,
      "height": 2160,
      "bytes": 229590,
      "query": "site:stardrift.ai",
      "query_suffix": "site:stardrift.ai"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/stardrift/49df9c3c36.webp",
      "alt": "Photo Selection",
      "source_url": "https://stardrift.ai/blog/designing-ai-with-taste",
      "image_url": "https://i.vimeocdn.com/video/2112685850-10a446ad7fabddb922ffbdae4912c09bc62cb5f41958a29af8edb3293cb3275f-d?f=webp",
      "width": 3632,
      "height": 2160,
      "bytes": 306694,
      "query": "site:stardrift.ai",
      "query_suffix": "site:stardrift.ai"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/stardrift/af7049d7f1.webp",
      "alt": "Blog | Stardrift",
      "source_url": "https://stardrift.ai/blog",
      "image_url": "https://stardrift.ai/blog/why-is-starlink-so-good/distance-diagram.png",
      "width": 2918,
      "height": 1682,
      "bytes": 496843,
      "query": "site:stardrift.ai",
      "query_suffix": "site:stardrift.ai"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/stardrift/0df6e650ca.webp",
      "alt": "Why is Starlink on planes so good? | Stardrift Blog",
      "source_url": "https://stardrift.ai/blog/why-is-starlink-so-good",
      "image_url": "https://stardrift.ai/blog/why-is-starlink-so-good/starlink.png",
      "width": 1888,
      "height": 1826,
      "bytes": 333341,
      "query": "site:stardrift.ai",
      "query_suffix": "site:stardrift.ai"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/stardrift/dc3e1717e7.webp",
      "alt": "Blog | Stardrift",
      "source_url": "https://stardrift.ai/blog",
      "image_url": "https://stardrift.ai/blog/designing-ai-with-taste/namibia.jpeg",
      "width": 1080,
      "height": 715,
      "bytes": 87717,
      "query": "site:stardrift.ai blog",
      "query_suffix": "site:stardrift.ai blog"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/stardrift/70e55987fd.webp",
      "alt": "Stardrift — Free AI Travel Planner | Chat-Powered Itinerary Research",
      "source_url": "https://stardrift.ai/",
      "image_url": "https://stardrift.ai/landing-page/itinerary-editor.png",
      "width": 1746,
      "height": 1887,
      "bytes": 144572,
      "query": "site:stardrift.ai",
      "query_suffix": "site:stardrift.ai"
    }
  ],
  "font_resources": [
    {
      "family": "Schibsted Grotesk",
      "google_fonts_url": "https://fonts.google.com/specimen/Schibsted+Grotesk"
    },
    {
      "family": "Schibsted Grotesk",
      "google_fonts_url": "https://fonts.google.com/specimen/Schibsted+Grotesk"
    }
  ],
  "google_fonts_css": "https://fonts.googleapis.com/css2?family=Schibsted+Grotesk&family=Schibsted+Grotesk&display=swap",
  "font_download_note": "Not found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. 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.\n\nProgrammatic 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.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.",
  "page_url": "https://characterquilt.com/branding/stardrift",
  "agent_instructions": "You are designing or implementing in Stardrift's brand identity.\n\n# Brand profile\n- Company: Stardrift\n- Source: https://stardrift.ai\n- Color scheme: light\n\n# Colors\n- primary: #000000\n- accent: #000000\n- background: #FFFFFF\n- textPrimary: #2C2A2C\n- link: #000000\n\n# Typography\n- primary: Schibsted Grotesk — https://fonts.google.com/specimen/Schibsted+Grotesk\n- heading: Schibsted Grotesk — https://fonts.google.com/specimen/Schibsted+Grotesk\n\nLoad all fonts at once: <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css2?family=Schibsted+Grotesk&family=Schibsted+Grotesk&display=swap\">\n\n# UI Components\n- input: background=transparent, textColor=#2C2A2C, borderColor=null, borderRadius=0px, shadow=none\n- buttonPrimary: background=#FFFFFF, textColor=#FFFFFF, borderRadius=6px, shadow=rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.2) 1px 3px 10px 0px, rgba(150, 148, 148, 0.3) -1px -1px 1px 0px inset, rgba(245, 243, 240, 0.4) 1px 1px 1px 0px inset\n\n# Brand voice\n- Tone: modern\n- Energy: medium\n- Audience: travel enthusiasts and tech-savvy users\n\n# Working with these fonts\nNot found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. 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.\n\nProgrammatic 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.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.\n\n# Full machine-readable profile\nhttps://characterquilt.com/branding/stardrift.json",
  "page_markdown": "# Stardrift Brand Identity\n\nA complete profile of **Stardrift**'s visual system — colors, typography, components, and personality — extracted from https://stardrift.ai. Built for designers, agents, and AI tools.\n\n- Page: https://characterquilt.com/branding/stardrift\n- Machine-readable JSON: https://characterquilt.com/branding/stardrift.json\n- Per-page llms.txt: https://characterquilt.com/branding/stardrift/llms.txt\n\n## Quick Facts\n\n| Field | Value |\n|---|---|\n| Primary | #000000 |\n| Accent | #000000 |\n| Body Font | Schibsted Grotesk |\n| Heading Font | Schibsted Grotesk |\n\n## Color Palette\n\n- primary: #000000\n- accent: #000000\n- background: #FFFFFF\n- textPrimary: #2C2A2C\n- link: #000000\n\n## Typography\n\n- primary: Schibsted Grotesk — https://fonts.google.com/specimen/Schibsted+Grotesk\n- heading: Schibsted Grotesk — https://fonts.google.com/specimen/Schibsted+Grotesk\n\n## Visual Assets\n\n- Logo: https://stardrift.ai/_next/image?url=%2Flogo.png&w=64&q=75\n- Favicon: https://stardrift.ai/favicon.ico\n- Social card (og:image): https://stardrift.ai/og_image.png\n\n## UI Components\n\n- input: background=transparent, textColor=#2C2A2C, borderColor=null, borderRadius=0px, shadow=none\n- buttonPrimary: background=#FFFFFF, textColor=#FFFFFF, borderRadius=6px, shadow=rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.2) 1px 3px 10px 0px, rgba(150, 148, 148, 0.3) -1px -1px 1px 0px inset, rgba(245, 243, 240, 0.4) 1px 1px 1px 0px inset\n\n## Brand Personality\n\nTone: modern · Energy: medium · Audience: travel enthusiasts and tech-savvy users\n\n## Stardrift Brand in the Wild\n\nReal-world brand assets — ads, campaigns, marketing materials.\n\n- **launch_video**\n  - Image: https://i.vimeocdn.com/video/2095276361-0c7b4483861a60f2dccc9d52ce7efaea1d61bab23b6f985656e7b38fb54c1a0f-d?f=webp\n  - Source: https://stardrift.ai/\n- **Photo Selection**\n  - Image: https://i.vimeocdn.com/video/2112685850-10a446ad7fabddb922ffbdae4912c09bc62cb5f41958a29af8edb3293cb3275f-d?f=webp\n  - Source: https://stardrift.ai/blog/designing-ai-with-taste\n- **Blog | Stardrift**\n  - Image: https://stardrift.ai/blog/why-is-starlink-so-good/distance-diagram.png\n  - Source: https://stardrift.ai/blog\n- **Why is Starlink on planes so good? | Stardrift Blog**\n  - Image: https://stardrift.ai/blog/why-is-starlink-so-good/starlink.png\n  - Source: https://stardrift.ai/blog/why-is-starlink-so-good\n- **Blog | Stardrift**\n  - Image: https://stardrift.ai/blog/designing-ai-with-taste/namibia.jpeg\n  - Source: https://stardrift.ai/blog\n- **Stardrift — Free AI Travel Planner | Chat-Powered Itinerary Research**\n  - Image: https://stardrift.ai/landing-page/itinerary-editor.png\n  - Source: https://stardrift.ai/\n\n## Working with these fonts\n\nNot found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. 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.\n\nProgrammatic 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.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.\n\n## Machine-Readable Profile\n\n```json\n{\n  \"colorScheme\": \"light\",\n  \"fonts\": [\n    {\n      \"family\": \"Schibsted Grotesk\",\n      \"role\": \"body\"\n    }\n  ],\n  \"colors\": {\n    \"primary\": \"#000000\",\n    \"accent\": \"#000000\",\n    \"background\": \"#FFFFFF\",\n    \"textPrimary\": \"#2C2A2C\",\n    \"link\": \"#000000\"\n  },\n  \"typography\": {\n    \"fontFamilies\": {\n      \"primary\": \"Schibsted Grotesk\",\n      \"heading\": \"Schibsted Grotesk\"\n    },\n    \"fontStacks\": {\n      \"heading\": [\n        \"Schibsted Grotesk\"\n      ],\n      \"body\": [\n        \"Schibsted Grotesk\"\n      ],\n      \"paragraph\": [\n        \"Schibsted Grotesk\"\n      ]\n    },\n    \"fontSizes\": {\n      \"h1\": \"40px\",\n      \"h2\": \"16px\",\n      \"body\": \"16px\"\n    }\n  },\n  \"spacing\": {\n    \"baseUnit\": 8,\n    \"borderRadius\": \"0px\"\n  },\n  \"components\": {\n    \"input\": {\n      \"background\": \"transparent\",\n      \"textColor\": \"#2C2A2C\",\n      \"borderColor\": null,\n      \"borderRadius\": \"0px\",\n      \"borderRadiusCorners\": {\n        \"topLeft\": \"0px\",\n        \"topRight\": \"0px\",\n        \"bottomRight\": \"0px\",\n        \"bottomLeft\": \"0px\"\n      },\n      \"shadow\": \"none\"\n    },\n    \"buttonPrimary\": {\n      \"background\": \"#FFFFFF\",\n      \"textColor\": \"#FFFFFF\",\n      \"borderRadius\": \"6px\",\n      \"borderRadiusCorners\": {\n        \"topLeft\": \"6px\",\n        \"topRight\": \"6px\",\n        \"bottomRight\": \"6px\",\n        \"bottomLeft\": \"6px\"\n      },\n      \"shadow\": \"rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.2) 1px 3px 10px 0px, rgba(150, 148, 148, 0.3) -1px -1px 1px 0px inset, rgba(245, 243, 240, 0.4) 1px 1px 1px 0px inset\"\n    }\n  },\n  \"images\": {\n    \"logo\": \"https://stardrift.ai/_next/image?url=%2Flogo.png&w=64&q=75\",\n    \"favicon\": \"https://stardrift.ai/favicon.ico\",\n    \"ogImage\": \"https://stardrift.ai/og_image.png\",\n    \"logoHref\": \"/\",\n    \"logoAlt\": \"Stardrift\"\n  },\n  \"__llm_logo_reasoning\": {\n    \"selectedIndex\": 0,\n    \"reasoning\": \"Selected #0 because it is visible, matches the brand name 'Stardrift', and links to the homepage.\",\n    \"confidence\": 0.9,\n    \"source\": \"llm\"\n  },\n  \"__llm_button_reasoning\": {\n    \"primary\": {\n      \"index\": 1,\n      \"text\": \"Sign up\",\n      \"reasoning\": \"The 'Sign up' button is likely the primary CTA due to its action-oriented text, encouraging user engagement.\"\n    },\n    \"secondary\": {\n      \"index\": 4,\n      \"text\": \"Plan a trip\",\n      \"reasoning\": \"The 'Plan a trip' button serves as a secondary action, complementing the primary CTA by offering a related action.\"\n    },\n    \"confidence\": 0.8\n  },\n  \"personality\": {\n    \"tone\": \"modern\",\n    \"energy\": \"medium\",\n    \"targetAudience\": \"travel enthusiasts and tech-savvy users\"\n  },\n  \"designSystem\": {\n    \"framework\": \"tailwind\",\n    \"componentLibrary\": \"\"\n  },\n  \"confidence\": {\n    \"buttons\": 0.8,\n    \"colors\": 0.9,\n    \"overall\": 0.8500000000000001\n  },\n  \"__llm_metadata\": {\n    \"logoSelection\": {\n      \"llmCalled\": true,\n      \"llmSucceeded\": true,\n      \"finalSource\": \"llm\",\n      \"rawLogoSelection\": {\n        \"selectedLogoIndex\": 0,\n        \"selectedLogoReasoning\": \"Selected #0 because it is visible, matches the brand name 'Stardrift', and links to the homepage.\",\n        \"confidence\": 0.9\n      }\n    },\n    \"buttonClassification\": {\n      \"llmCalled\": true,\n      \"llmSucceeded\": true\n    }\n  }\n}\n```\n"
}