You built an app in Bolt, v0, Replit, Lovable, or Claude and it works — but it only works on your machine, and the deploy pipeline is a bigger commitment than the question you're trying to answer. What fits the in-between moment: a live link in seconds, and you decide who opens it.
You described the app in a sentence, the tool wrote it, and now it runs in the preview pane — the form submits, the chart animates, the dark-mode toggle works. It's real. The next thing that happens is almost always the same: someone who isn't sitting next to you needs to see it. A client, a co-founder, a friend whose taste you trust.
And that's the moment the tooling goes quiet. The build works; sharing it is suddenly a separate project.
A vibe-coded app — built in Bolt, v0, Replit, Lovable, Claude, or any of the prompt-to-app tools — lives in an in-between state for a while. It's past "idea" and not yet "product." It runs in a preview, or on localhost:3000, or inside the chat that produced it. None of those are a thing you can send.
The instinct is to reach for one of the two endpoints: a screenshot (too little) or a full deploy (too much, too soon). The in-between needs its own shape.
Most of these tools can export the build. For a self-contained front end, that's a single .html file with the CSS and JavaScript inlined, or a folder you can zip — an HTML entry plus its assets. Prompting the tool to ship a single self-contained file usually gets the cleaner export; inlining the CSS and JavaScript makes it portable enough to open anywhere.
Once it's a file or a bundle, the share problem becomes a hosting problem — and a small one.
Drop the exported HTML or ZIP, get a live link in under a minute. No signup, no build step. Up to 3 MB on the anonymous tier; the link self-destructs after 7 days.
The in-between wants a fourth option: the live app, at a private URL, that opens in any browser and is seen only by the people you sent it to.
.html if the app is front-end only; a .zip (HTML + CSS + JS + assets) if it ships as multiple files — typical for Bolt and Codex-style exports.The whole thing is closer to "send a file" than "deploy an app" — which is the right weight for a build that isn't a product yet.
Free keeps one always-on link that never expires; everything else runs the 7-day self-destruct. Solo ($4.99/mo) makes every link permanent and raises the file cap; Studio ($14.99/mo) adds a custom domain. The paid plans are about persistence and ownership — privacy and the password option stay free whatever the tier.
Honest scope: a private link is for the self-contained build — the front end, the prototype, the static export. If the app has a live backend — a database it writes to, authentication, server-side API routes, anything beyond what runs in the visitor's browser — that's not a file, and it needs a real deploy. Bolt, v0, Lovable, and Replit all publish to a live URL; Vercel and Netlify host the full app with its server side intact. For a finished AI-built landing meant to be found, public hosting is the right shape.
The private link covers the step before that — and the cases that never need a backend at all.
miinideck doesn't run your server. It takes a self-contained HTML file or a ZIP bundle and gives back a private URL — it's not a build platform, a backend host, or a place to run database-backed apps. Those are deploy-platform jobs, and the deploy platforms do them well. The private link is for the moment in between: the build works, it isn't public yet, and one person needs to see it exactly as it runs.
"It asks me to log in." "It's blank." The link isn't broken — it was never built to leave the tool. What each AI tool actually hands you, and what opens.
The iteration loop with Claude / Cursor / Lovable produces a new version every round. Channels that let each round travel cleanly — without exposing the chat, the previous version, or the next reviewer to noise.
You shared the AI-built page — then what? The real work is the loop: build, show, react, fold the reaction back into the next prompt. Why hosting is only step one, and what actually closes the loop.
miinideck turns a single HTML file into an unguessable link with optional password and expiry. Default-private, never indexed.