The fastest way
off localhost.

Deloc turns anything running on your laptop into a live URL in under two seconds. One command from your terminal, one sentence to your AI — no DNS, no build config, no deploy YAML.

Start deploying free
Free forever for hobby projects · No credit card · 30-second setup
Hero.tsx
main · clean
export function Hero() {
return (
<>
<h1>The fastest way "off localhost"</h1>
<Button color={accent}>Deploy</Button>
</>
);
}
TERMINAL~/hero-demo — zsh⌘J
$
← → ↻
localhost:3000
localhost · dev

The fastest way off localhost.

From localhost:3000 to hero-demo--you.deloc.app in one command.
01Built for how you actually ship

Every route from localhost:3000 to a link your team can open.

No more "it works on my machine." No more sharing screenshots in Slack because setup is too painful. Deloc gives every prototype a URL, instantly.

For humans

One command. Any runtime.

Static sites, SPAs, anything that builds to a folder. Deloc detects your stack, runs the build, and serves it from a global edge in one command.

~/q3-dashboard — zsh
$ npx @deloc/cli deploy
detected vite + react
built in 1.24s
uploaded 24 files · 847 KB
q3-dashboard--you.deloc.app
link copied to clipboard
For AI

Native to Claude, Cursor, and any MCP tool.

Ask your AI to 'deploy this' and it just does. Deloc exposes an MCP server, a REST API, and typed SDKs so agents can ship without a human in the loop.

CClaude · via MCP
deploy this to deloc so my team can see it
⚡ deloc.deploy — 1.4s
Live at q3-dashboard--you.deloc.app
status=ok · visibility=team · bytes=847104
02How it works

Localhost to live in three keystrokes.

STEP 01
1
Point at your code
Deloc detects your framework, your build command, and your output directory. Zero config files, ever.
STEP 02
2
Ship it anywhere
CLI, drag-drop, paste-from-AI, MCP, REST. Same result in every channel: one URL.
STEP 03
3
Share, iterate, repeat
Every deploy lands at a shareable URL. Redeploy to ship an update — same command, same link, new bundle.
03Every surface, one API

A programmable deploy target.

CLI, typed SDK, MCP server, REST API — the same two-second deploy, exposed everywhere your workflow happens. Type hints in your editor, tool calls in your chat, one-liners in your terminal.

Framework auto-detect for 20+ stacks
Preview URLs per commit, per paste, per drag
Typed responses — no JSON spelunking
Instant rollback to any previous deployTeams
# install
npm i -g @deloc/cli
# deploy current directory
deloc deploy
# or one-off
npx @deloc/cli deploy ./dist --prod
04Integrations

Plays well with the tools you already open.

Ship from Claude Code or Cursor via MCP. Call Stripe, Slack, or any HTTPS API from your deployed app via Actions. No bespoke integrations to maintain — the proxy handles credentials server-side.

C
Claude Code
MCP
Live
C
Cursor
MCP
Live
W
Windsurf
MCP
Live
C
Cline
MCP
Live
Z
Zed
MCP
Live
S
Stripe
Actions
Live
S
Slack
Actions
Live
O
OpenAI
Actions
Live
L
Linear
Actions
Live
G
GitHub
Actions
Live
05APIs without a backend

Static pages. Live data.

Register the APIs your app needs — Stripe, Slack, your CRM — and call them from the browser with a hook. Deloc proxies every request, injects your credentials server-side, and keeps them out of your bundle.

Secrets stay server-side — never in your JS bundle
SSRF-guarded outbound with a per-origin allowlist
Typed React hooks + plain JS — same API in both
Full invocation log, scoped per viewer
actions/SlackAlert.tsx
@deloc/client
import { useDelocAction } from "@deloc/client/react";
export function AlertButton() {
const { invoke, loading } = useDelocAction("slack-alert");
return (
<button
onClick={()=> invoke({ text: "Q3 deploy complete" })}
disabled={loading}
>
{loading ? "Sending…" : "Send alert"}
</button>
);
}
browser
your app
static · in the browser
deloc.action()
deloc edge
credentials · SSRF guard · log
HTTPS
your API
stripe, slack, anything
⚡ Ready in 30 seconds

Stop shipping screenshots.
Start shipping links.

Free forever for solo projects. Bring a team when you're ready.