AdSpyfy brand reference

Every value below is taken from the shipped product, not a mood board: the palette is the live CSS custom properties in the extension panel, and the type is the two fonts the site and panel actually load (Bricolage Grotesque for display, Inter for UI/body).

Logo

Mark — primary, on light

Mark — on ink (unchanged, the tile carries itself)

AdSpyfy

Horizontal lockup — light backgrounds

AdSpyfy

Horizontal lockup — dark backgrounds

16
32
48
128

Rendered at true pixel size — the mark holds down to 16px, where the magnifier handle drops out and the silhouette carries it.

Construction

Tile radius is 22.6% of the side (116/512). Three ascending bars = run-length ranking, the product's core idea; the amber magnifier = the research act. Clear space on all sides ≥ 25% of the tile side. Minimum size 16px. Never re-colour the bars or the lens, never rotate, never add a stroke, never place the mark on a photo without the tile.

Colour — light (product default)

Indigo #2B2AF2--indigo · primary action, brand
Indigo deep #1B1AA8--indigo-deep · hover, pressed
Amber #FF8A1F--amber · run length, attention
Moss #1F6B4F--moss · active / proven
Ink #191713--ink · text, Lifetime pill
Paper #F6F2EA--paper · app background
Paper 2 #FFFDF9--paper-2 · cards, inputs
Ink soft #5E574E--ink-soft · secondary text
Ink faint #8B8175--ink-faint · labels, captions
Line #E2DACB--line · hairlines
Line strong #CFC4AE--line-strong · button borders
Amber wash #FFF1E0days-running pill fill

Colour — dark (prefers-color-scheme: dark)

Indigo #7775FFlifted for contrast on ink
Indigo deep #9B99FFhover on dark
Amber #FFB35Crun length on dark
Moss #6FD0A1active / proven on dark
Paper #171513app background
Paper 2 #24211Dcards, inputs
Ink #F4EEE3primary text
Ink soft #C8BFB2secondary text, inactive tabs
Ink faint #9E9589captions
Line #494239hairlines
Line strong #62594Dbutton borders
Indigo wash 8%selected rows, focus fill

Typography

Find the ads they can't kill
Advertiser leaderboard
Free ranking from the ads already in your harvest, sorted by longest observed run.
Longest run

Display: Bricolage Grotesque 600–700, tracking −0.018em to −0.03em. UI/body: Inter 500–700. Labels: Inter 700, 11.5px, uppercase, +0.03em.

Components

Export ZIPMore actions 2493dLifetime
winnertestingkilled ugcproblem-agitate

Radii: 100px for pills and buttons, 18px for cards, 12px for inputs. Borders are always 1px. No drop shadows anywhere except the sticky panel header.

Voice & usage rules

Say what the data is. Run length, first/last shown, creative reuse, EU reach where published, political ranges where published. Never say "impressions", "spend" or "ROAS" for ordinary commercial ads — Meta does not publish them, and inventing them is the one thing that would make the product a liar.

Rank, don't invent. Where Meta sorts by impressions, we show a position ("#12 of 340 captured"), never a number.

Local by default. Copy should keep reminding people the harvest, creatives and AI key stay in their browser; the licence server only ever sees a key and a device ID.

One payment, not a subscription. Lifetime is the whole pricing story — never imply a recurring plan or a trial that expires.

Naming. The product is written AdSpyfy — one capital A, one capital S, lower-case f, everywhere in the UI, store listing and legal text. Never "Ad Spyfy", "ADSPYFY" or "Adspyfy".

Tone. Plain, specific, unhyped. Prefer "which creatives survived 200 days" to "unlock explosive growth".