Skip to content

Create your workspace

This creates a hosted workspace on TCPcore and takes you to the console to sign in. The first account in a workspace is its administrator.

You are starting the Team tier at $99 per month, 10 seats. No card is taken on this page.

The API requires a minimum of 8 characters. There is no other rule.

Sent as the API's name field. It becomes the workspace name and your display name.

.tcpcore.dev

Lower case letters, digits and single hyphens, 3 to 40 characters. Leave it as suggested or choose your own. If you clear it, the server derives one from your email address.

Already have a workspace? Sign in.

How this form is wired

The browser posts to /api/signup on this site, a Cloudflare Pages Function in this repository. The Function calls the API at https://tcpcore-api.onrender.com/api/auth/register server to server.

That indirection is deliberate. The API as deployed does not allow this site's origin through CORS: it answers a preflight fromhttps://tcpcore.dev without anaccess-control-allow-origin header, so a direct cross-origin post would be refused by the browser and the page could not even read why. The proxy costs one extra hop and removes that dependency entirely. Nothing needs to be set on the API for this form to work.

Both hostnames are configuration. The console is set by the build-timePUBLIC_CONSOLE_URL variable; the API is set by the Pages project's API_BASE_URL binding, which the Function reads per request. The value in use now is https://tcpcore-api.onrender.com, and changing either is a configuration change and a redeploy rather than a source edit.

What does still have to be true

Observed unmet against the live API while this page was built, not hypothetical.

Where this goes next

A successful signup redirects tohttps://app.tcpcore.dev/login. That host is set by the build-time PUBLIC_CONSOLE_URL variable, because the console is being deployed to its Render URL before the custom domain is attached./login reads the same variable, so both move together. No source edit is needed to point them somewhere else, and the workspace is created either way.