We stopped sharing one staging server — here's what we built instead
Every team I've been on has had the same problem.
You have 4 engineers. You have one staging server. Every morning there's a Slack message: "who's on staging right now?" Someone has to wait. Someone always merges before QA finishes. Someone's PR sits in review for 3 days because the environment is occupied.
The frontend teams solved this years ago. Vercel gives you a preview URL for every branch automatically. It's genuinely great — if your stack is Next.js.
But if you're running Django, Rails, Laravel, FastAPI, Spring Boot, or anything else that needs a real backend process? You're stuck with the shared staging server. Or you spend two weeks wiring up Kubernetes preview environments.
We got tired of it and built PreviewDrop.
How it works
PreviewDrop spins up an isolated Docker environment for every GitHub branch or pull request. Each environment gets its own URL. When the PR closes, the environment is automatically cleaned up.
Setup is one command:
npx previewdrop init
That writes a GitHub Actions workflow file to your repo. After that, every PR gets a preview URL automatically — no manual steps, no shared state, no "who's on staging" Slack messages.
What it supports
If it runs in Docker, PreviewDrop can preview it. That includes:
- Django (the one Vercel explicitly can't do)
- Rails
- Laravel
- FastAPI
- Spring Boot
- Node/Express
- Any custom Dockerfile
What it costs
$19/mo flat for the Starter plan — 5 concurrent previews, 3 team members. No per-second billing, no per-seat fees, no surprises at month end.
Compare that to Railway's pay-per-second model, which gets unpredictable fast when you're spinning up preview environments 20 times a day.
Who it's for
Three use cases where it genuinely solves a real problem:
1. Agency developers sending clients preview links
You're building a Django or Rails site for a client. They need to review the new feature. Right now you either keep a staging server running 24/7 (costs money, needs maintenance) or you send a Loom video. With PreviewDrop, you send a URL.
2. Small product teams with a QA bottleneck
One staging environment + multiple engineers = a queue. PreviewDrop gives every PR its own environment. QA can test 5 PRs in parallel.
3. Teams that evaluated Kubernetes-based solutions and gave up
Bunnyshell is powerful but the onboarding assumes you have a platform engineer with Kubernetes experience. PreviewDrop is Docker — if you can write a Dockerfile, you're done in under 10 minutes.
What we're not
To be clear: PreviewDrop is not production hosting. The environments are ephemeral. If you need Vercel-style CDN and ISR for a Next.js frontend, use Vercel — it's genuinely better for that use case.
PreviewDrop is for the backends that Vercel can't run.
Try it
We're in public beta. Free tier available, no credit card required.
The GitHub App install takes about 90 seconds. If you have a Dockerfile, you'll have your first preview URL before your next coffee.
Feedback welcome — what's missing? What would make you actually switch?
Top comments (0)