Skip to content
All articles

How to Host a One-Page Site for a Client Pitch

8 min readClient work, Hosting

To host a one-page site for a client pitch, build the page with your AI as a single HTML file, publish it to SnapHost as a private site, name the two or three people who will open it, and send them the link. The page has an address the moment you publish it, it opens on a phone, and when the decision is made you set an end date or take it offline.

That is the short version. The rest of this post is why a page beats a deck for this job, what the page should contain, the three places it can live, how to keep it to the people in the room, and what to do with it after the meeting.

Why a one-page site for a client pitch beats a deck

A pitch deck is built to be presented. You stand next to it and fill in the gaps. The moment you email it, the gaps are what the reader sees: a slide with four words on it and no idea what you said about them.

A one-page site is built to be read without you. The client opens it on the train, scrolls once from the problem to the price, and forwards it to the colleague who missed the call. It carries its own argument.

It also updates. A deck you sent is frozen in their inbox. A hosted page is one link, and when the scope changes after the second call, you change the page and the link still works. If you want to keep the deck a deck, how to share slide decks securely covers that route.

What goes on the page

Keep it to what a decision needs. A pitch page that tries to be a website gets skimmed like one.

  • The problem, in their words. One paragraph that could have come from the client's own brief.
  • What you propose. Three to five parts, each a heading and two sentences. No feature lists.
  • What it costs and how long it takes. A number and a date. Burying these at the bottom is a deck habit, and on a page it reads as evasive.
  • One piece of proof. A chart, a before and after, a short example of the work. One, not a gallery.
  • The next step. What you need from them to start, and by when.

Ask your AI to write it as one self-contained HTML file with the styles inside it and nothing fetched from elsewhere. That constraint matters for hosting, and the next section says why.

Three ways to build it, and what each needs

SnapHost works out what you published and renders it accordingly, so the format is your choice. Three fit a pitch page.

A single HTML file is the simplest. Your AI writes it, you publish it, done. The one rule is that the page carries everything it needs. A published site is not allowed to quietly pull in code or data from other places; if your page really needs a font or an API from somewhere else, you can allow those specific sources in the site's settings, which is a paid capability. For a pitch page, inline the styles and skip the external font, and nothing needs allowing.

A React component is what Claude hands you as an artifact or ChatGPT as a canvas. A single .tsx file with a default export becomes a working page: SnapHost compiles it when you publish and bundles the libraries it imports, so the page loads nothing from anywhere else. It may import React, Recharts, Lucide icons, D3, Framer Motion and the Radix primitives. Anything else is refused by name, so if your AI reached for an unusual charting library, ask it for Recharts instead.

Markdown if the pitch is mostly words. A .md file is turned into a clean, styled page on its own. It looks like a document rather than a landing page, which for some clients is right.

What you can publish has the full list, zips included, and the size limits.

Where the page lives

Every site gets a share link the moment you publish it, so the page has an address before you have decided anything else. On Free, that address is on sites.snaphost.ai with a small SnapHost mark in the corner, and you can have three pages live at a time. For a one-off pitch, that is often enough.

If you pitch regularly, two things change on Pro. A team workspace gets its own subdomain, something like studio.snaphost.ai, so each pitch sits under your name. And you can put a page on a domain you own, such as pitch.yourstudio.com. You add the domain, SnapHost shows you the DNS records to add at your registrar, and once they take effect the domain is confirmed and the certificate is handled for you. Each paid member brings three custom domains to the workspace. Custom domains walks through it.

DNS takes its time, so if the pitch is tomorrow, publish on the share link today.

Keeping it to the people in the room

A pitch contains your price, your approach and sometimes your view of the client's problems. You want the three people you pitched to read it, not the agency they are also talking to.

On SnapHost a private site is restricted to the people you name. You add their email addresses, and each of them confirms their email before any content loads. There is no password to put in the same email as the link. On Free, a page can be private to up to three named people, which covers most pitches. On Pro, the list has no cap, and you can add a whole company at once by its domain, so acme.com lets in anyone with an Acme address.

One default is worth knowing. A new site on Free is public unless you name people, and on Pro it is private unless you open it. So on Free, add the names before you send the link.

Three more controls help with a pitch in particular.

  • Access requests. When the client forwards the link to a colleague you did not name, that person is not let in, but they can ask. The request shows up in Share, and approving it adds them to the list. You find out who else is reading your pitch, and you decide.
  • A one-time link. For the person who will open it once from a phone and never again, copy a one-time link. It has to be opened within seven days, works for a single sitting of about an hour, and is then spent.
  • The access log. Every request, verification, view and denial is recorded. Before the follow-up call, you can see whether the page was opened at all, and whether the person who matters opened it.

Compare that with a drag-and-drop host. Tiiny.host, which we checked in September, puts your page on a link that anyone holding it can open, or behind one shared password if you pay. It shows view counts, not who viewed. For a public page that is fine. For a pitch, you would be sending your price to whoever the link reaches. The sharing docs cover each control above.

Changing the page after the first call

The second call usually changes something. The scope shrinks, the start date moves, the client asks for a line about support. You change the page and republish it. The link stays the same, so the email you already sent still points at the current version.

If your AI is connected to SnapHost, that loop is one sentence: tell it what changed and ask it to update the site. Connecting an AI is on every plan, Free included, over a hosted connection you authorize in the browser with nothing to install. When your AI publishes with a slug, the first publish creates the site and each later one updates it in place at the same address.

On Pro, each update is saved as a version, the ten most recent are kept, and you can roll back to any of them while the link stays put. That matters the day your AI rewrites the pricing section when you only asked it to fix a typo. Free keeps the current version only, so on Free, keep the file.

You can also keep the page as a draft while you work on it, so nothing is reachable until you publish.

After the decision

A pitch page has a natural end. Either you won and the page becomes the first thing in a project folder, or you did not and your pricing should stop being readable by a prospect who is now working with someone else.

Set an end date when you publish, which is a Pro control. After that date the link stops working, and sites show whether a link is active, expiring soon or expired, so you are not surprised. You are warned before it lands, too. Clearing the date makes the link permanent again if the deal takes longer than you thought.

If the decision comes early, take the site offline. The page, its content and its settings are kept, and only the link is switched off. Flip it back if they come back. And if the client forwards the pitch to someone who should not have it, removing that one person from the list does not touch the others. How to revoke access to a shared link goes through the three.

None of this reaches backwards: someone who read the page has read it. Put the argument on the page and keep the detailed cost breakdown for the contract.

What it costs

Free covers a one-off pitch: three pages live at a time, each private to up to three named people, updated at the same link, on the shared address with a small mark. Pro is 19 euros a month for each member who can publish, and the people who read your pages are free. Pro adds the end date and password, your own domain, the workspace subdomain, version history and a list of any size. Pricing has the current lines.

A checklist for the night before

  1. The page is one file, with styles inline and nothing fetched from elsewhere.
  2. It opens on a phone. Check it on yours, not in a desktop browser made narrow.
  3. The price and the date are on it, above the proof.
  4. The site is private, and the names on the list are the people who were on the call.
  5. An end date is set, or you have a note to switch it off.
  6. You have opened the link from an address that is not on the list, to see what a stranger gets.

Then send one link, not an attachment, and look at the log the morning after.

Keep reading