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 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.
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.
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.
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
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.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.
Writes are merged, not replaced: changing one field here does not blank everything else the client has.
The old mapping keeps working, so bookmarks do not break. The new one still needs its own route and a deploy.