Evolvance — Subdomains

Stand a client up on the Evolvance platform, or repair one, without a terminal. This page creates the ACCOUNT — the client, their address, their name and logo, what their console shows, and optionally a password on the door. Their numbers are not set here: those come from uploading their dashboard screenshots afterwards, per client, and recalculate every time. Every step is checked rather than assumed.

The platform — where these records are written

The admin secret is the platform's own ADMIN_SECRET, not School of Rock's and not the ingest one. Nothing is saved: reloading this page clears it.

The company — what the client is called, and where they live

Their contract — what Impact measures them against

These four values re-base the whole Impact tab: the target line, the “N by date” label, expected pace and what is left. Getting the goal wrong measures a client against a number they never agreed to, which has happened once already.

Their console — which tabs exist, and who gets in

A client without a tab ticked simply does not have it — the tab is absent, not empty.

Leaving it blank is a real choice, not an oversight — Mindset Conquest ran that way for months. It can be added or removed later without a deploy.

What happened — each step checked, not assumed

Hand this over

The one step this page cannot do — claiming the address

Everything above is written into storage and takes effect immediately. The hostname itself is infrastructure: Cloudflare custom domains cannot be wildcards, so each client is a line in wrangler.toml and a deploy, permanently. Until that is done the address is NXDOMAIN — the request never reaches the Worker, so nothing on the platform can see it or report it missing.

Add this, with the others:

[[routes]]
pattern = "<subdomain>.evolvance-platform.com"
custom_domain = true

Then, from evolvance-platform/:

npx wrangler deploy
Never wrangler deploy --domains. That flag states the Worker’s entire trigger set, so naming one domain drops every trigger not named — every other client and workers.dev included — and a failed claim leaves the Worker with no route at all. wrangler.toml is the desired state.
Then wait. A freshly claimed custom domain resets TLS at the edge for up to about 45 minutes while its certificate already reads Active. Every check passes and it still does not serve. Give it an hour before believing anything is broken — this cost real time during the Mindset Conquest cutover and it looked exactly like a misconfiguration.
Why it is ordered this way

The records are written before the address is claimed, deliberately. The other order leaves a window where a real hostname resolves to a real client whose data is already there, with no password in front of it. This way the console is whatever you configured it to be from the first moment it answers.

Which platform

Repair one

Writes are merged, not replaced: changing one field here does not blank everything else the client has.

Rename, or change the logo

Point them at a different address

The old mapping keeps working, so bookmarks do not break. The new one still needs its own route and a deploy.

Reset the passphrase