Skip to content
StaticHero

Express Hosting

Using Express just to serve files? Drop the server.

Lots of Express apps are `express.static('public')` plus a POST route for a contact form. StaticHero replaces both — no server to keep alive, patch or pay for.

Upload
Your public/ folder
Contact form
Built in
Server to maintain
None
Free plan
Yes

In short

StaticHero doesn’t run Express servers, but it can replace the most common Express use case: serving a public folder and handling a contact form. Upload the folder you pass to express.static, and point your form at /_forms/contact to receive submissions by email and in a dashboard. Keep genuinely dynamic API routes on a server and call them from the static frontend.

Updated

How to deploy Express to StaticHero

  1. 01

    Build your project

    Run (none) in your project folder.

  2. 02

    Find the public/ folder

    That folder contains plain HTML, CSS and JavaScript — the only thing your visitors need.

  3. 03

    Drag it onto StaticHero

    Drop the folder (or a ZIP of it) into your site in the dashboard.

No build servers

You build where you already build; we publish in seconds. No queue, no build minutes.

Instant rollback

Every upload is a version. Restore any previous build with one click.

Forms & analytics

Add a contact form and visitor analytics without a backend or extra scripts.

Custom domain + HTTPS

Connect your domain with one DNS record; certificates are automatic.

Configuration

A typical small Express app and its StaticHero equivalent:

Before → after
// BEFORE — server.js
app.use(express.static("public"));
app.post("/contact", async (req, res) => {
  await sendEmail(req.body);           // SMTP config, secrets, retries…
  res.redirect("/thanks.html");
});

// AFTER — no server. In public/index.html:
// <form action="/_forms/contact" method="POST">
//   <input type="hidden" name="_redirect" value="/thanks.html">
//   …
// </form>

When to keep Express

Keep a server for authentication, database writes, payment webhooks, or anything that needs secrets. A common pattern is a small API on a server or serverless platform and the user-facing site on StaticHero — you get fast global delivery for pages and only pay for compute where you actually need it.

Migrating templates (EJS, Pug, Handlebars)

If your pages are rendered from templates but the data rarely changes, render them once to HTML (most template engines have a CLI or a tiny Node script can do it) and upload the result. You keep the same markup without a running server.

FAQ

Frequently asked questions

Still curious? Ask us anything — a person will reply.

Can I deploy my Express app as-is?

+

No — StaticHero hosts static files. Upload the static folder and replace simple routes with built-in features like forms.

What replaces express-session or auth?

+

For simply keeping a site private, use StaticHero password protection. For real user accounts, you need a backend or an auth service.

Will my /api calls still work?

+

Point them at the full URL of your API server and enable CORS there.

Your site could be live in the next minute.

One site free, forever. No credit card, no setup, no servers.