Run the build, zip dist, drop it. Refreshing /dashboard still renders, assets get long cache headers, and old URLs can redirect. One small file in the folder says how.
Free for 3 sites on hstd.app. No card needed.
hstd is the opposite of all three. Files in, live URL out, you keep the publish button.
npm run build with Vite, Create React App, Nuxt generate, SvelteKit static or Angular. Anything that outputs a folder.
One file in the build: "spa": true, plus redirects and cache headers if you want them.
Drop the zip on hstd, or post it to /uploads from a script and import it over MCP. Publish when the preview looks right.
Everything on this page is on the free plan unless it says Pro. Prices and limits are on the pricing page .
Put a _config.json at the root of your build folder with {"spa": true}. Unknown paths then serve index.html with a 200 and your router takes over. The docs page has the full file.
Yes. In _config.json add a headers rule for "/assets/*" with Cache-Control public, max-age 31536000, immutable. The allowed headers are caching, CSP, frame, referrer, permissions and CORS.
hstd serves files only. Call your API from the browser as you do in development, and use the headers rule for CORS if the API is on another origin.
Yes. Post the zip to https://hstd.app/uploads and import it with the import-upload MCP tool, or let Claude or Cursor do both. Publishing stays a separate step.
Your first site can be live before the kettle boils.