Build Your Own Stuff › Chapter 5

Stop paying for software.

Nearly every tool you subscribe to has a free, open-source twin that you can run on the server from chapter one, in about ten minutes, forever, for nothing. This is where the money actually is.

The thing nobody tells you about GitHub

GitHub is where the world's software lives in the open. Not just fragments — entire, finished, production-quality applications, given away free, that thousands of businesses run every day. Password managers. Analytics. Chat. Project boards. Time tracking. Bookmark managers. Monitoring. Newsletters. Forms. Databases. Whole categories of SaaS have a mature free equivalent sitting right there.

Most people never look, because it feels like it must be harder than it is, or like free software must be worse. Sometimes it is worse. Very often it's better, because it isn't optimizing for a pricing tier that nudges you toward the upgrade.

Here's the swap that made it click for me. I was looking at password management for a client. The hosted product is a fine business at a few dollars per user per month. The same company also gives away the server software, and there is a community version — Vaultwarden — that runs on a small VPS and does everything, unlimited users, unlimited everything. I installed it in about fifteen minutes. Cost: zero, forever. Same apps, same browser extensions, same security. That single afternoon paid for the server for the next several years.

How to actually find them

Three approaches, in order of how much I use them:

  1. Just ask your agent. Literally: "I pay $X/month for [tool]. Is there a self-hostable open-source alternative that would run on this server? Give me your honest recommendation, and tell me if I'd be downgrading." That last clause matters — you want the truth, not a yes.
  2. The awesome-selfhosted list. A famous, well-maintained GitHub list of essentially every self-hostable app in existence, organized by category. Search it for your category and you will find three options you'd never heard of.
  3. Search GitHub for "[the tool you pay for] alternative." Crude, and it works constantly.

How to judge one in ninety seconds

You are about to run a stranger's software on your server. That deserves ninety seconds of attention. Open the GitHub page and check four things:

CheckWhat you wantWhy
Last commitWithin the last few monthsAbandoned software stops getting security fixes. This is the single most important signal.
StarsA few thousand or moreRough proxy for "many people rely on this and problems get found."
Open issuesSome, being replied toZero issues means nobody uses it. Hundreds ignored means nobody maintains it.
A Docker installYes, ideally one fileMeans installing it is one command instead of an afternoon. See below.

If those four look right, install it. If they don't, walk away — there's almost always another option in the same category.

One real caution

Self-hosting means you are now the person responsible for updates and backups. Nobody is doing it for you. This is genuinely the trade-off, and it's the honest reason not everything should be self-hosted. Two mitigations: have your agent set up automatic backups the same day you install anything (ask for it explicitly — it will not volunteer), and check for updates on a schedule you actually keep. If a tool holds something you truly cannot lose and you know you won't maintain it, paying someone else is a legitimate, adult decision. Just make it on purpose.

Docker, in one paragraph

Docker is the reason all this is easy now. It packages an application together with everything it needs to run into one sealed box. You don't install the app and its database and its right version of some language runtime and pray they get along. You run one command and the box appears, working, isolated from everything else on your server. If you hate it, you delete the box and it's like it was never there.

Practically, most projects hand you a file called docker-compose.yml, and installing them looks like this:

# grab the project
git clone https://github.com/some/project.git
cd project

# start it
docker compose up -d

That's the whole install for a shocking number of real, serious applications. You do not need to understand Docker deeply. You need to know it exists, prefer projects that offer it, and let your agent handle the details.

What's actually worth running

These are categories where the free version genuinely competes, based on what I run day to day. I'm deliberately not naming a single winner in each — that changes, and you should ask your agent for the current best option and why.

Add them one at a time. Get one working, use it for a week, then add the next. The failure mode here is installing nine things in a weekend, understanding none of them, and abandoning all of them.

Monthly SaaS subscriptions versus one self-hosted server A typical small business pays somewhere between eighty and three hundred dollars a month for tools that have free self-hostable equivalents. One server that runs all of them costs about seven dollars a month. What the same set of tools costs you, per month Paying for them $80–$300 password manager · analytics · monitoring · chat · boards · time tracking … Hosting them $7 … the exact same tools, on the server from chapter one The gap is the whole argument for this chapter.
Not an exaggeration for effect — those are the same tools in both bars. The trade you are making is money for maintenance: you become the one who does updates and backups. That’s the honest catch, and it’s a smaller catch than it sounds.
Do the math once

Add up what you currently pay, monthly, for tools that are on that list. For most small businesses it lands somewhere between $80 and $300 a month. Now compare that to the $6 server. That gap is the entire argument, and it's why this chapter exists.

← Chapter 4: OpenRouter & costs Next: Think like a builder →