For Django · Rails · Laravel · FastAPI · Spring Boot

Vercel-grade previews, for backend apps.

If you ship Django, Rails, Laravel, FastAPI — or Next.js, Nuxt, SvelteKit, or anything in between — every Git branch deserves a live HTTPS URL the way Next.js devs get one on Vercel. We auto-detect your framework (or use your Dockerfile if you have one). PR comments, build logs, password protection, auto-expiry. No Kubernetes, no per-seat bill, no YAML.

Demo runs in under 60s. No signup, no credit card.

Branch previews·Auto PR commentsCommit statusAuto-expiryREST APIMCP for AI agents

Quick Invoice App

acme/quick-invoice · main

BuildingReady
mainLatesta8c2f9

feat: add webhook signature verification

Built in 43s
prv-a8c2f9.previews.previewdrop.dev6d left
build · feature/add-webhook · a8c2f9
→ Installing dependencies…
✓ 328 packages installed in 8.4s
→ Running build
✓ Compiled successfully
Heads-up: SUPABASE_SERVICE_ROLE_KEY not set. Add it under Variables.

Already using something else?

When PreviewDrop wins — and when it doesn't

Honest comparisons against the tools you're already paying for. If you ship Next.js to Vercel and never touch a Dockerfile, you probably don't need this. If your backend is Django, Rails, Laravel or anything FROM-python-based, read on.

Built by backend devs who got tired of docker-compose up on every PR review.

What you actually get

Specs & pricing, no spelunking required

Flat per-workspace pricing. No per-seat fees, no surprise overages, no “contact sales” wall. Same container, same build pipeline on every plan — what changes is concurrency, TTL, memory, and seats.

PlanFreeStarterProTeam
Price (monthly)$0$19$79$149
Concurrent previews252040
Container memory256 MB512 MB1 GB2 GB
Preview TTL1 h4 h8 h16 h
Projects310UnlimitedUnlimited
Team seats131025
Password-protected URLs
REST API + CLI
MCP server for AI agents
Deploys / monthUnlimitedUnlimitedUnlimitedUnlimited

Median build time

~60s

Demo public-repo build

Runtime

Container

Auto-detect or Dockerfile

Network

HTTPS + auto-TLS

Issued per preview

Regions

EU

Multi-region, low latency

Why we built this

Vercel solved this in 2018. The rest of us got “use staging”.

Next.js devs have had “every PR gets a live URL” for years. Django, Rails, Laravel, FastAPI — you got “ssh into staging”, “ngrok the dev box”, or a 600-line GitHub Actions file that breaks the first time someone pushes a binary asset.

We built PreviewDrop because we wanted what Vercel ships, on the stack we actually work on. A real container, a real HTTPS URL, a real PR comment, in under a minute. No Kubernetes. No per-seat pricing. No terraform apply just to review a feature.

We're opinionated about the stack: flat workspace pricing because per-seat pricing punishes you for growing a team; auto-expiry by defaultbecause nobody should be paying for a preview that's been zombie-running for three weeks; MCP-native from day one because the next generation of devs will deploy from Claude or Cursor, not from a dashboard.

If your backend is Docker-shaped and your CI/CD is held together with cron jobs and YAML, this is for you.

No configuration files needed

The deployment pipeline you deserve, working in three simple steps.

01 / Connect

Pick your repository

Sign in with GitHub and select any repo. Django, Rails, Laravel, Next.js — if it has a Dockerfile or a standard build process, we handle the rest automatically.

02 / Push or open a PR

Get a live preview URL

Push to any tracked branch, or open a pull request. We build a live container automatically — and if it's a PR, drop the URL as a GitHub comment with a commit-status check. No CI setup needed.

03 / Share

Share with clients or QA

Share a password-protected, auto-expiring HTTPS URL. No user accounts, no VPN, no zombie containers — it self-destructs after your TTL.

GitHub integration

Every PR gets a live preview link, automatically.

Open a pull request and PreviewDrop posts a bot comment with the preview URL, build status, branch, and commit — before your reviewer even clicks through.

Posted automatically on PR open or new pushUpdates in-place on every commit — no comment spamGitHub commit status check includedNo extra CI setup — works out of the box
github.com / acme / quick-invoice / pull / 42
PreviewDrop bot comment on a GitHub pull request showing the live preview URL
The actual dashboard

What you actually get

One project page per repo. Every deployment with its commit, status, preview URL, and full build log streamed live over WebSocket — searchable, copyable, downloadable.

previewdrop.dev/dashboard/projects
All your repos at a glance — live status, branch, last deploy.Every deployment with commit, status, preview URL, and TTL.Build logs stream live over WebSocket — searchable, copyable, downloadable.Runtime container logs — tail your app after it goes live.Inject secrets and env vars per project — encrypted at rest.Request volume, error rates, and latency — per preview, per branch.Branch tracking, build commands, TTL, preview password — all per project.

All your repos at a glance — live status, branch, last deploy.

Claude — PreviewDrop MCP
YouDeploy the feature/payments branch and wait for it to be ready
AI
Using deploy — projectId: proj_abc, branch: feature/payments, wait: true
AI

Done! Your preview is live:

prv-d94f2c1.previews.previewdrop.dev

Status: ready · Built in 47s

YouShow me the last 20 lines of the build log
AI
Using get_build_logs — id: dep_d94f2c1, tail: 20
AI-native

Let your AI agent deploy, inspect, and destroy previews.

The official PreviewDrop MCP server gives Claude, Cursor, and any MCP-compatible AI agent full control over your preview environments — no copy-pasting URLs, no tab-switching.

11 tools your agent can call

deploy_repoone-shot: find/create project, deploy, wait
redeployrebuild existing deployment
destroy_deploymentstop + remove by id
get_deploymentfull deployment record
list_deploymentsfilter by project / branch / status
list_projectsall projects in workspace
create_projectadd a GitHub repo as a project
get_build_logsbuild output (tail N)
get_runtime_logscontainer stdout / stderr (tail N)
get_accountemail · plan · workspace
get_github_app_install_urlauto-recovery on first-use 403
VS Code:Search previewdrop in the MCP Servers panel — one-click install.
Claude / Cursor:npx previewdrop mcp
Read the MCP docs
Share anywhere

Password-protected, auto-expiring, QR-ready share URLs.

Every branch preview — and every PR preview — gets a password-protectable HTTPS URL with a built-in QR code and a TTL. Hand a client or QA a single link without spinning up a staging server or leaving ngrok open all night.

For agencies:

Send clients a password-protected link that self-destructs after their review. No staging servers, no ngrok tunnel open all night, no leftover URLs indexed by Google.

Per-preview passwordQR for mobileAuto-expiring TTL
prv-a8c2f9.previews.previewdrop.dev6d left

Test on device

Scan to open the preview on your phone. Great for checking responsive layouts without a Ngrok-style tunnel.

Also included on every plan

Zero-config auto-detect
GitHub commit status
REST API + CLI
MCP server for AI agents
GitHub App integration

Wire up CI/CD
in minutes

Once you have a PreviewDrop account, run one command from your project root. Our setup script detects your repo, writes the GitHub Actions workflow, and prints the secret to add. Done.

$ npx tsx https://previewdrop.dev/setup.ts
◆ PreviewDrop Setup
Framework: Next.js
GitHub repo: acme/my-app
Written: .github/workflows/previewdrop.yml
Setup complete. Push to preview.

Works with your actual stack

Not just Next.js. PreviewDrop previews any app that runs in a container — the backends Vercel and Netlify can't touch.

Django
Rails
Laravel
FastAPI
Spring Boot
Node.js
Express
.NET
Go
Rust
Next.js
Nuxt
SvelteKit
Astro

Any language. Any framework. If it builds, PreviewDrop previews it.