miinideckmiinideck
PricingUse casesBlog
Sign in
Sharing AI-built apps

Handing off a single-file prototype when you just need a decision

The prototype took an afternoon. Getting it in front of the person who has to say yes takes longer — because a repo-and-deploy is too much ceremony, an attachment opens as code, and a platform link drags your reader onto the platform. What the handoff actually needs.

By miinideck·September 20, 2026·6 min read

The prototype took an afternoon. You asked Claude Code for a small self-contained page — a calculator, an interactive flow, a dashboard mock-up — because there was one product question that an argument in a document was never going to settle. It works. It sits in a folder on your laptop.

Now it has to reach the person who says yes.

This is the part that takes longer than building it, and the reason is not technical. The handoff is a different job from the deploy, and the tools available are all built for the deploy.

What makes this handoff its own problem

A production deploy answers "how does this run forever, for everyone". Your prototype needs to answer something much smaller: can one named person open this, form an opinion, and tell me what they think, this week?

That job has four requirements, and they are unusual as a set:

  • It opens with no account. The reviewer is a PM, a designer, a founder or a client. Any sign-in wall is where the review stops.
  • It survives your laptop being closed. A preview served from your machine or from a live coding session lasts exactly as long as your attention does.
  • It keeps one address through the whole cycle. Prototype review is iterative by definition. If the address changes every round, you are managing links instead of getting an answer.
  • It can be taken back. It is unfinished work. When the decision is made, the artefact should stop being a live page somewhere.

None of the obvious three routes gives you all four — not because any of them is badly built, but because each was designed for a different situation.

The three routes, and what each one costs

Route one: spin up a repo and deploy it. This works, and it produces a real URL. It also means a repository, a host account, a build configuration and a pipeline — for a file that exists to answer one question and may be deleted on Friday. The ceremony is not wrong; it is just enormously out of proportion to the artefact. Most people abandon this route halfway and go back to the folder on their laptop.

Route two: attach the file. The most natural instinct and the one that fails most reliably. Your mail client is a reader, not a browser: it displays the file rather than running it, so your reviewer opens an attachment and sees markup. Zipping it clears the filter and hands them a download-unzip-find-index chore instead. We wrote up why an HTML attachment opens as raw code — the short version is that nothing about this is fixable from your end, because the tool doing the displaying is doing its job correctly.

Route three: send the platform's own share link. Increasingly the default, and genuinely the right answer when the reviewer lives inside the same product. The friction shows up at the boundary: some of those links pull the reader onto the platform, some ask them to sign in, some are scoped to your workspace, and some are open to anyone who ends up holding the URL. We collected the specific failure messages in why your AI share link won't open for them. Every one of those behaviours is reasonable inside its own product. They just stop being reasonable at the exact moment the reader is outside it.

What the handoff shape actually looks like

Strip the three routes back and the thing you want is small: one file, one address, under your control.

The file half is worth getting right first. A prototype that pulls in a separate stylesheet, a local script or images from a folder next to it is not one file — it is a folder wearing a file's name, and it will arrive broken. Ask the assistant for everything inlined into one document, then check it rather than trusting it; inlining CSS and JavaScript into a single HTML file covers what quietly gets left out and how to verify before you send.

The address half is where the four requirements above get met or missed. What we optimise for on this one:

  • The URL is unguessable and stays out of search results by default, because unfinished work should not be discoverable while a decision is still being made.
  • The reader needs no account — they click and see the page.
  • The file behind the address can be replaced without the address changing. One link survives the whole review cycle, and your reviewer is never looking at a version you retired.
  • An optional password, an expiry date, or simply deleting it ends the review cleanly.

If you want the mechanics rather than the reasoning, sharing a Claude Code project as a private link is the shorter version of this page.

The half everyone forgets: getting the answer back

Handing the prototype over is only the first half. The reviewer looks at it, and then has to tell you what they think — and by default that arrives as a paragraph in a chat thread: "the second card feels off, and the number at the top should probably be bigger."

That is a weak instruction for a human and a much weaker one for an assistant. The next iteration is going straight back into Claude Code, and "the second card" carries almost none of the information that a note pinned to the second card carries.

So the shape worth reaching for is feedback anchored to the thing itself. On miinideck any document can be opened for review: whoever holds the link can leave comments pinned to specific parts of the page, with no account of their own, and everyone can read what the others said. Opening review and leaving comments is free on every tier — exporting the whole thread as markdown, so you can paste it back to the assistant as the next prompt, is the Studio piece.

When this is the wrong shape entirely

If the prototype signs users in, writes to a database, keeps an API key secret, or runs anything server-side, it is not a self-contained file and none of the above applies. That is a real application and it needs a real deploy — Vercel and Netlify are built for it and will host the whole thing with its server side working. Reach for them without hesitation; the one-file handoff is for the front-end build, not for the app.

The short version

The reason this feels harder than it should is that you are borrowing tools built for shipping to do a job that is closer to sending a draft. A single-file prototype exists to get one person to an opinion. Give it one unguessable address that opens with no account, keep that address stable while the file behind it changes, collect the notes on the page itself, and take it down when the decision is made. Everything else is ceremony that the artefact never asked for.

More in Sharing AI-built apps

Codex shared thread snapshots: what the link actually hands over

Codex can now share a thread as a read-only link. It shows someone how the work was reasoned — not the working thing it produced, and not a copy that keeps up with you. Here is exactly what the snapshot carries, the four boundaries the announcement doesn't spell out, and how to tell which of the two jobs you're actually doing.

September 2, 2026·7 min read

Share a Claude Doc or Slides deck with a client who has no Claude account

You sent a Claude Slides deck with 'anyone with the link' and your client got a sign-up screen. Why that happens, what Docs, Slides and Design actually export, and how to get the work in front of someone who will never make a Claude account.

September 28, 2026·9 min read

"Comments aren't available while this Artifact is shared publicly": getting a client's notes on a Claude Code page

You sent a client the public link to a Claude Code artifact and asked them to mark up what to change. There's nowhere to comment. That's by design. Here's the rule, which plans it leaves without a comment option for outside viewers, and how to collect pinned notes anyway. Checked against Anthropic's docs on 15 September 2026.

September 27, 2026·8 min read

Send your own private link.

miinideck turns a single HTML file into an unguessable link with optional password and expiry. Default-private, never indexed.

Try it free →See pricing
miinideck

HTML files, finally as links — for AI builders, agencies, and consultants. Default-noindex, default-private, default-yours.

Product

  • Pricing
  • Use cases
  • Try it free

Resources

  • Blog
  • Free tools
  • Featured on
  • Report abuse

Legal

  • Privacy
  • Terms
Listed onmiinideck listed on Product Huntmiinideck listed on Faziermiinideck listed on TheSaaSDirmiinideck listed on AIToolHuntmiinideck listed on LaunchNest
© 2026 miinideckMade for people who don't want their work indexed.