I love Vercel. The developer experience (DX) of connecting your Github, choosing your repo, and clicking deploy is magical.
But I have a lot of side projects. And as soon as I need a few more resources, want to kick off a background worker, hit a bandwidth limit, the "Vercel Tax" kicks in. The pricing jumps significantly compared to the raw cost of compute. As we all know, Vercel is one big AWS wrapper.
On the other hand, a $5 DigitalOcean or especially Hetzner VPS is incredibly cheap and powerful, but nobody wants to move from Vercel to this, as you've now got to deal with configuring Nginx, setting up Let's Encrypt, patching security updates, rolling automated deployments, and creating backups.
I wanted the Vercel experience, but on my own hardware, and the current tools just didn't cut it.
I tried tools like Coolify and Dokku (which are amazing, by the way). But they generally rely on a specific architecture: Self-Hosted Control Plane.
You have to install the management dashboard on your VPS. This means:
- You have to maintain the dashboard itself.
- The dashboard eats up the RAM and CPU resources that should be saved for your apps.
The Hybrid Approach: SaaS Dashboard + Lightweight Agent
I spent the last 6 months building a different solution called Outlap.
The architecture is hybrid:
- The management dashboard is hosted by me. It handles the UI, build logs, and GitHub webhooks.
- A lightweight (15-20MB ram on average) agent runs on your VPS.
This creates a strict separation of concerns: your $5 server uses almost 100% of its resources for your apps, while the heavy lifting of orchestration happens in the cloud.
See it in action (45s Demo)
I just finished the onboarding flow. It takes about 60 seconds to go from a fresh VPS to a live Next.js app.
(Note: The agent setup is a single copy-paste command. No manual config required.)
How the Architecture Works
For the nerds like me who care about security, here is how the agent actually functions:
- A single outbound connection
The Outlap agent creates a secure outbound tunnel to the control place via a secure WebSocket. This means you do not need to open any inbound ports on your firewall (except for 80/443 for the actual web traffic of your apps, which the agent manages via Caddy). You don't need to SSH in to configure anything.
- Framework Detection
The agent (and the control plane) inspects your repository. If it sees a package.json with next, it automatically configures the build pipeline for Next.js. If it sees a Dockerfile, it uses that. It's got some other magic built in, but this is the gist.
- Zero-Downtime Deployments
The agent handles rolling updates. When you push to GitHub, it pulls the code, builds the container, waits for the health check to pass, and only then switches the traffic.
Stress Test My Infrastructure?
I’m currently in Beta and I want to see if my agent architecture holds up at scale.
I’ve uncapped the Free Tier:
Unlimited Apps
1 Server (Bring your own Hetzner, DO, AWS, etc.)
Unlimited Deployments
If you have a spare VPS lying around and want to try breaking the agent, I’d love the feedback.
Top comments (2)
Great job! It looks good to me. I'll give it a try.
I would like to take a test drive :)