News
A brand analyzed, never overwritten
Analyzing your website only fills what’s still empty. What a person wrote stays written — and the Brand page reads first, edits one block at a time.
There’s an unpleasant moment with tools that “import your brand”: you spend fifteen minutes writing your tone and your audience, you re-run the analysis to fill in the palette, and all your text vanishes under the model’s. The Brand page was rebuilt so that moment can’t happen.
The analysis isn’t a screen, it’s an action
It opens as a window, from the profile header or from the step-by-step flow: an address, the estimated cost, and an “Analyze” button. When the profile isn’t empty, the window warns you before it runs: “Your entries are kept: the analysis only fills fields that are still empty. Badges will show where each value comes from.”
Once started, it runs on the server. You can change page, reload, close the tab — the screen says so, “The analysis keeps running if you leave this page” — and your teammates see it running, with the name of whoever started it. At the end: “Profile prefilled · Check each field: the badges show where it came from.”
The rule fits in one sentence
A value written by a person is never replaced.
That’s literally the code: the merge keeps a field if its provenance says “edited”, or if it was typed by hand with no provenance at all. Everything else — what a previous analysis put there, what the model suggested — is replaceable. Nothing else enters the decision.
A few pleasant consequences. Per-platform handles are completed rather than overwritten: the ones you typed stay, the missing ones arrive. The content language your team picked wins over the one the analysis detects on the site. And for values that ship with a default — tone, image style, palette, fonts — the default belongs to nobody: the analysis is allowed to replace it, right up until you deliberately keep it. That’s the “Keep” button next to the “Default” badge: keeping is itself an act of authorship, and it locks the field against every later analysis.
Badges, rather than a question
The obvious alternative would have been to ask, before each analysis: “replace or complete?” It was rejected for a simple reason — that’s one more question every single time, when the right answer is always “complete”.
Instead, every field carries where it came from: “Website” for what was read on the page, “AI” for what the model inferred, “Edited” for what you wrote or confirmed. You can see the shape of your profile without having had to arbitrate in advance.
The profile reads first
The Brand page is no longer one long form. It opens on a banner — logo, brand name set in the brand’s own heading font, six palette swatches, “Profile … % complete” and a list of what’s missing — then on eight read-mode blocks: Identity, Offer, Voice, Palette, Typography, Logo, Image style, Socials.
Each block carries its own “Edit” button. Only one opens at a time: while it’s open, its subtitle reads “Edit in progress · the other blocks stay read-only”, the block’s footer counts your changes, and two buttons close the parenthesis — “Cancel”, which restores the block exactly as you found it, and “Save” (⌘S). Entries are saved as you go anyway: “Save” only confirms and flushes the queue.
What the analysis actually reads
One page. The one whose address you give, and nothing else: no crawl, no sitemap, no followed links. On top of that, at most three external stylesheets, to recognize the declared fonts and colors.
The request is anonymous — no cookies, no token — it announces plainly that it comes from joli.studio, and it refuses anything that isn’t public: local addresses, private networks, URLs carrying a username and password. In other words, the analysis sees what a logged-out visitor sees, and not one byte more.
From the page it takes the title, the description, the declared language, the icons, the links to your social accounts, the twelve most frequent colors once near-neutrals are dropped, the first six fonts, and the readable text — capped at twelve thousand characters. The model then infers the editorial profile: description, industry, audience, value propositions, products, tone, keywords.
The cost is announced before it runs, 4, and an analysis of the same address less than seven days old is reused as is, at no cost. “Reanalyze website” forces a fresh read.
And if you don’t have a website
For a project whose brand is still empty, the page offers two paths side by side: “Import your branding”, recommended, about thirty seconds; or “Build step by step”, six short stages — identity, audience and offer, voice, colors, fonts and logo, socials and handles — each of them optional, with a live preview of a post taking shape as you go.
Either way, you land on the same Brand page, editable field by field. And either way, what you write there stays there.



