Skip to main content
Internal Service β€” This is not an HTTP endpoint. It’s called directly by the generate-all orchestrator.

Purpose

Downloads the favicon from a website, converts it to PNG format, and uploads it to Supabase Storage. Returns a public URL for the favicon. Runs in GROUP 1e (parallel with scrape, fire-and-forget). Doesn’t need scraped pages.

Function Signature

Parameters

Returns

Favicon Discovery Order

The service tries these locations in order:
  1. /favicon.ico - Standard location
  2. /apple-touch-icon.png - iOS icon (usually higher quality)
  3. /apple-touch-icon-precomposed.png - Alternative iOS icon
  4. HTML <link rel="icon"> tag
  5. HTML <link rel="shortcut icon"> tag
  6. Fallback: Google’s favicon service (https://www.google.com/s2/favicons?domain=...)

Processing Pipeline

Storage Location

Favicons are stored in Supabase Storage:
Public URL format:

Code Location

Error Handling

If favicon fetch fails, the onboarding continues without a favicon. The UI shows a default placeholder.