HTML / CSS / JS
static-htmlproject.zip
- ├── index.html
- ├── styles.css
- ├── app.js
- └── assets/
Published exactly as uploaded. Needs an index.html at the root of the archive.
Docs
Everything the platform does today is on this page.
Step zero
An email address and a password of at least eight characters. Nothing else is asked for and nothing is charged — every account starts on the free plan.
Everything under /dashboard needs you signed in. The sites you deploy are public.
Step one
One archive, one project. Zip the contents of your project folder — a single wrapping folder is flattened for you, so either shape works.
project.zip
Published exactly as uploaded. Needs an index.html at the root of the archive.
project.zip
Needs a package.json with Vite in it. We run npm install, then npm run build, and publish dist/.
Leave node_modules and dist out of the archive: the first is installed for you and the second is rebuilt. Both only make the upload slower.
Archive limits
Step two
One screen, three fields, no second screen. From the dashboard, choose New project.
Up to 100 characters, anything you like. The name is what you see on the dashboard; the subdomain is derived from it.
HTML / CSS / JS publishes the files as they are. React / Vite installs your dependencies and runs the build first.
The archive is checked, unpacked and published. The log prints as it goes, and stays on the project afterwards.
A static site is live in seconds. A Vite build takes about a minute, because your dependencies are installed first.
Addressing
You never type a subdomain. It is derived from the project name, and it is yours until you delete the project.
Afterwards
Open a project from the dashboard and there are three things you can do to it.
Upload a new zip to the same project. The subdomain stays exactly as it was.
Takes the site offline and frees an active slot. Files and deploy history are kept.
Removes the project, its files and its subdomain. The name goes back into circulation.
Limits
Pausing is the release valve: a paused project keeps its files, its history and its subdomain, and stops occupying a slot.
Troubleshooting
Nothing goes live and nothing is lost. The log says what stopped it, and stays on the project so you can read it again.
No index.html found at the root of the archive.
Zip the contents of your project folder rather than a folder containing it — or move index.html up to the top level.
This looks like a Vite project — select "React / Vite" as the project type.
The archive has a package.json with Vite in it but was sent as plain static files. Go back a step and change the type.
npm install failed. / Build failed.
The build ran and your project stopped it. Run npm install && npm run build locally, fix what it prints, and upload again.
Build succeeded, but no "dist/" folder was produced.
Only Vite's default output directory is published. Remove any custom outDir from vite.config and redeploy.
That is all of it. Make it a link.
Deploy a project