Emits is in public beta

One file in.
A real URL out.

Give it an HTML file and get back a live link anyone can open. There is no project to create, no repository to connect, and nothing to configure.

Free to publish. Free to serve. Your page is live at https://launch-notes.emits.page about a second later.

emit

$ emit publish launch-notes.html

published https://launch-notes.emits.page

id: pg_7k2m4c

version: v1

$ emit update pg_7k2m4c launch-notes.html

published https://launch-notes.emits.page

version: v2

$

https://launch-notes.emits.page is now on version 2. The link never changed, and anyone who already had it sees the new page.

01/The honest comparison

A dozen sites will host a file for free. Here is what happens next.

Changing somethingA free file hostUpload it again and hand out a second link.EmitsSame URL, next version, live in place.
Who can reach itA free file hostAnyone with the link, and every search crawler.EmitsPublic, unlisted, or private behind a token.
How long it livesA free file hostUntil you remember to go back and delete it.EmitsSet an expiry date and it retires itself.
Whose name is on itA free file hostTheir subdomain, their branding.EmitsYour own domain, across every page, TLS included.
Last month's versionA free file hostOverwritten. What you uploaded is what you have.EmitsKept, frozen, exactly as it was published.
Doing it a hundred timesA free file hostA browser, a mouse, and an afternoon.EmitsOne call, from a terminal or an agent.

02/What a Emits link does

One URL that keeps its promises long after you sent it.

Update without moving

Republish to the same page and the URL never changes. The link you sent last week still opens, and now it shows this week's version.

Three levels of reach

Public for the open web. Unlisted for a link you hand out, served with noindex. Private, which answers 401 without a valid token.

Retire on a schedule

Give a page an expiry and it takes itself down on time. Good for a quote, an invitation, or anything that should not outlive the week.

Your domain, every page

Bind a domain once at the account level and every page also serves at your-domain/launch-notes. Certificates are issued for you.

Frozen at the edge

Each publish becomes an immutable artifact served from the edge with no origin compute. Nothing to keep running, and a busy page costs about nothing.

Built to be automated

Four verbs, plus tags and groups for keeping track. Small enough that an agent can hold the entire surface in one prompt.

03/The whole API

Four verbs.
That is the entire surface.

Small on purpose, so a person can learn it in a minute and an agent can hold all of it in one prompt. Publishing is a single request. Everything else is bookkeeping.

  • GET/v1/pagesfind
  • POST/v1/pagespublish
  • PATCH/v1/pages/{id}update
  • DELETE/v1/pages/{id}delete
publish a page
api.emits.app
POST /v1/pages
{
  "html": "<main>…</main>",
  "slug": "launch-notes",
  "visibility": "unlisted"
}

201 Created
{
  "url": "https://launch-notes.emits.page",
  "version": 1
}

04/Pricing

Free to publish. $5 for your own domain.

Free

$0

For every page you publish.

  • Unlimited pages and versions
  • Live at <name>.emits.page
  • Public, unlisted, or private
  • Serving is free; page views are not billed

Pro

$5/mo

Your pages, on your own domain.

  • Everything in Free
  • Bind a domain you already own
  • Every page also at your-domain/launch-notes
  • Certificates issued and renewed for you

05/Questions

Give it a file. Take back a link.

Create an account and publish your first page in about a minute. No card, no project setup, no build to wait on.