DEV Community

Fillip Kosorukov
Fillip Kosorukov

Posted on

How I Run Four SaaS Products on a Single $24/Month VPS

I'm a solo founder running four production SaaS products on a single $24/month Vultr VPS. My background is in psychology, not computer science — I taught myself to code through building projects and leaning heavily on Claude Code as a development partner. Here's how the infrastructure works and what I've learned.

The Setup

The server is a Vultr High Frequency instance (2 vCPU, 4GB RAM) running Ubuntu 22.04 in the New Jersey region. It hosts:

  • LocalMention.io — AI visibility audit tool for local businesses (Next.js)
  • FixMyRecord.io — Automated data broker removal service (Next.js)
  • SetupLens — Stock scanner for momentum trading setups (Flask + React)
  • Market Dashboard — Discord-integrated market data dashboard (Flask)

All four run behind a single Nginx reverse proxy, each on its own subdomain or domain, with Let's Encrypt SSL certificates managed through Certbot.

How It Fits Together

Each product runs as a systemd service, which gives me automatic restarts on crash, easy log management with journalctl, and clean start/stop control. The Next.js apps run their own Node processes, and the Python apps run through Gunicorn.

Nginx handles all incoming traffic and routes it to the right service based on the domain. A typical server block looks like standard proxy_pass configuration pointing at the local port for each app.

The database layer is split: Supabase (hosted PostgreSQL) handles the main app databases for LocalMention and FixMyRecord, while SQLite handles local job queues and caching. This keeps the heavy transactional work off the VPS while still allowing fast local reads for things like audit result caching.

Cron Jobs and Background Work

Several cron jobs run on schedules — audit queue processing, data broker monitoring checks, market data pulls, and cleanup tasks. Each one is a simple script that the cron daemon runs at set intervals.

Deployment Workflow

Deploying is straightforward: SSH in, pull from the repo, install any new dependencies, restart the systemd service. For the Next.js apps, there's a build step. The whole process takes about 90 seconds per app.

I've thought about setting up CI/CD through GitHub Actions, but honestly for a solo operation the manual deploy works fine. I know exactly what's going out each time.

What I'd Do Differently

If I were starting over, I'd containerize everything from day one. Docker Compose would make the multi-service setup cleaner and more portable. But the systemd approach works well enough that migrating isn't worth the effort right now.

The biggest lesson: you don't need Kubernetes, Vercel, or a $200/month cloud bill to ship real products. A single well-configured VPS with good process management gets you surprisingly far.

The Takeaway

If you're a solo developer thinking about launching a SaaS product, don't let infrastructure complexity stop you. A cheap VPS, Nginx, systemd, and a simple deploy script will handle more traffic than you think. Save the scaling problems for when you actually have them.

Find me at fillipkosorukov.net or check out the products at localmention.io and fixmyrecord.io.

Top comments (0)