Claude Code turns an idea into a clickable prototype in an afternoon: real screens, real links, buttons that go somewhere. Sharing it is the part that stalls, because a folder on your laptop isn't a link you can send to a client, a PM or a test participant. Ask Claude Code to "put this prototype online" and it runs one command that returns a live HTTPS address and a link that keeps it. No account, no Git, and no build pipeline to set up first.
How it works
- Build the prototype with Claude Code. Plain HTML pages, or a small React or Vite app. Ask for a real page per screen, so every screen has its own address people can open and bookmark.
- Ask Claude Code to share it. It runs
npx -y lobsite --yesin the folder. Only the built files are uploaded, and nothing asks a question along the way. - Send the link. Claude relays the address and the claim link. Open the claim link and sign in to keep the prototype past 6 hours; the address doesn't change.
Prompt it as a prototype, not a mockup
A few lines at the start of the session save a round of fixes before you share. Paste this into Claude Code with your brief:
Build this as a static, clickable prototype:
- One HTML page per screen, linked with relative paths (about.html, not /about.html).
- Fake data in the page itself; no backend, no API keys, no login.
- Every button and link goes somewhere, even if it's a "not built yet" screen.
- Works on a phone as well as a laptop.
When it's done, share it with `npx -y lobsite --yes` and give me the link.
Relative paths matter most: they let the same files open from your laptop, from a preview address, and later from your own domain.
One link per iteration
Prototypes change after every review. Keep the link you already sent working, and put the new version next to it:
npx -y lobsite --yes --preview
A preview deploy gets its own address, while the main link keeps showing the version people are reviewing. Send the preview to whoever asked for the change. When it's agreed, npx lobsite promote <id> makes it the main version, and a rollback takes it back in one step if the feedback goes the other way. In a free account, deploys from the last 7 days keep their preview addresses (30 days on Standard), so "v2" and "v3" are still there to compare at the next review.
Who can see it
- Without an account, the prototype isn't indexed by search engines, and it's removed after 6 hours unless you claim it.
- Preview addresses are never indexed, on any plan.
- On Standard, add a password in the site's settings. Every address of the site asks for it, previews and custom domain included. Reviewers type it once per browser, and changing it signs everyone out. The password lives in the dashboard, not in the project, so it never ends up in a repository.
That's usually what "can we keep this between us and the client?" means. For anything truly confidential, don't put it in a prototype at all.
Testing it with users
A hosted prototype is a URL, which is all most testing tools need. Paste the address into Maze, Lyssna or UserTesting as a website task, or send it straight to participants. Each screen has its own path, so a task can start on /checkout.html and success can be "reached /thanks.html".
Need answers back from the prototype itself, like a sign-up or a survey screen? Point the form at /_lobsite/forms/feedback and, once the prototype is in an account, submissions arrive by email with spam filtering. See forms.
A deploy without an account is live for 6 hours. The claim link keeps it, free.
Preview before going live. Roll back in one click, redirects and all.
On Standard, every address of the site asks for a password. Reviewers type it once per browser.
No prompts under an agent, and a Tell the user: line with the URL and the claim link.
Point a form at /_lobsite/forms/contact. Spam filtering included.
Free accounts included: add one DNS record and the site moves to your domain. Every site has HTTPS on any plan.
Claude Code prototypes: Lobsite and the usual ways to share
| Lobsite | Claude artifact share link | Netlify Drop | GitHub Pages | |
|---|---|---|---|---|
| Who uploads | Claude Code, with one command | You, from claude.ai | You, by dragging a folder | Claude Code, with commit and push |
| Account to start | None for 6 hours | Claude account | None for about an hour | GitHub account and repository |
| Multi-page and React builds | Yes, the whole folder | One page per artifact | Yes | Yes, with a workflow for the build |
| A link per iteration | --preview, with promote and rollback |
A new artifact each time | A new site, or a new deploy each time | Not built in |
| Password | Yes, on Standard | Team sharing rules only | On paid Netlify plans | No |
A Claude artifact link is fine for one screen. Once the prototype is a folder of pages Claude Code wrote in your project, a host that takes the folder as it is saves the copy-and-paste.
Frequently asked questions
Can I host a Claude Code prototype for free?
Yes. Without an account it's live for 6 hours. Claim it with the link Claude gives you and it stays up in a free account, at the same address.
My prototype's links work locally but break once it's online. Why?
Usually absolute paths: /about.html points at the root of the domain, which differs between your laptop and a hosted address. Ask Claude Code to use relative links (about.html, ./img/logo.png), then deploy again. Only the changed files upload.
Does a React prototype with routes work?
Yes. Turn on single-page mode with spa = true in lobsite.toml, or Single-page app in the site's settings, so links to /settings or /orders/42 open the app instead of a 404.
Can I put a client's prototype on their own domain?
Yes. Free accounts include one custom domain: add one DNS record and the prototype moves there, with HTTPS.
Can Claude Code update the prototype after a review?
Yes. lobsite.toml remembers the site, so the same command from any session updates the same address. Add one line to CLAUDE.md so every session does it the same way; see Deploy a website from Claude Code.