Generator
Supported sites & limitations
2 min read
The current extractor is deterministic — it samples computed styles and runs heuristics, no AI synthesis (yet). That sets a clear ceiling on what it can do.
Works well on
- Public marketing sites with consistent brand expression (Stripe, Vercel, Airbnb, Linear).
- Single-page apps that hydrate within ~500 ms of DOM ready.
- Sites under 5 MB of DOM — we cap the in-page walk at 1500 visible elements.
- Sites that don't block bots — we use a custom
DesignDropBotUA. Hostile rate-limiters may serve us a 429 or a captcha page, in which case the extraction captures whatever the bot saw, not the real brand.
Doesn't work yet
- Auth-walled pages. The extractor runs unauthenticated. Anything behind a login produces a degraded result (often a blank or near-blank palette). Workaround: extract from a public marketing page that uses the same design system.
- Pages requiring user interaction to render real content (e.g. accordions that hide everything until clicked). Workaround: pick a content-rich landing page.
- Iframes. We only sample the top document. Embedded UIs in iframes are invisible to the extractor.
- Canvas-heavy interfaces. Pixel data inside
<canvas>is opaque to computed-styles sampling.
Heuristic ceiling
Even on a perfect input, the deterministic mapper has known weaknesses:
- Brand primary detection picks the most-saturated visible color. On minimalist sites where the primary is a near-black, the heuristic surfaces an accent instead.
- Mono font detection is missing. The extractor returns a system fallback for
--font-monountil we add a fixed-width digit detector. - Dark theme synthesis is opt-in: only triggered when the source page declares
color-scheme: darkor sets a darktheme-colormeta. We don't invent dark themes from scratch.
What's coming
The next iteration ships an AI synthesis layer that takes the raw harvest plus a screenshot and names tokens semantically. That closes most of the heuristic gaps above and bumps the average confidence score noticeably. Track progress in the TASK-4 thread.