Jim Nielsen makes a good point: instead of buying a new domain for each project, use a subdomain of a personal domain.
Get a personal domain and start all your side projects as a subdomain of that top-level domain.
And I 100% agree...except for one edge case:
Here's something to consider: changing project ownership, either due to an acquisition or whatever, leaves you with a subdomain you have to worry about.
If you gave your project to somebody else and used a top-level domain, you could hand everything over to them super easily, including the domain.
But if the project is (or was) running on your own subdomain, you are still responsible for making sure that subdomain continues to work.
Let's consider a scenario where you build a thing on thing.yoursite.com
. Even if your project becomes super popular and you buy thing.com
to host it on, you will still have to keep support for thing.yoursite.com
so old links don't break.
Let's now imagine you want to hand the project off to somebody else. Perhaps some rich company buys it off you for a bajillion dollars. You, as the one currently responsible for the subdomain, have a few options:
- Continue supporting the subdomain...forever
- Give them your personal domain
- Pray that they're cool with you being allowed to stop maintaining your subdomain
None of these options are great, but most people probably think option 1 is manageable. But I don't. That means you are still a part of that project. Even if you're a bajillionaire living on a secluded beach somewhere without a care in the world for that old thing you made, you still have to worry about that subdomain.
Yes, it's not hard to manage that subdomain. A simple redirect to a new top-level domain should be enough to suffice. But you will forever have to be on standby. If for whatever reason your DNS goes down, you will be the one to blame.
To be fair, not only is your DNS going down a super rare scenario, but it probably won't matter if your subdomain is down for a couple hours temporarily. But the fact that you are still part of a project that you no longer want to be part of is a downside.
Instead, if you used a unique top-level domain, you could just give them that domain and never have to worry about it again. If the DNS goes down, it's not your fault.
Another thing to consider is that if you do host your project on a subdomain, and said project eventually becomes super popular, a bad actor could buy all the good domains with your project name, either to impersonate you or otherwise. Just something to consider.
But, of course, there are downsides to buying a new top-level domain for each project: cost being a big one. And one could possibly argue that it is harder to manage 10 top-level domains than 10 subdomains. But I still consider cost to be the biggest barrier.
However, it is worth noting that domains are relatively cheap. You can usually get one for around $15/year, plus or minus a bit depending on your registrar.
This price isn't the end of the world, but can definitely add up. Assuming $15/year per domain, which is a rather generous assumption, take a look at the following:
Number of domains | Price |
---|---|
1 | $1.25/month |
5 | $6.25/month |
10 | $12.50/month |
15 | $18.75/month |
20 | $25.00/month |
However, there are also ways to offset these costs:
- Donations. If your project is open-source and/or helping people, consider accepting donations.
- Ads. While nobody likes putting ads on their sites, they can help offset the cost of a domain.
- Shop. Perhaps consider selling stuff, even digital goods.
And the best part about all this is that you don't have to make much to offset the cost of your domain. Even if you're only making $1.25/month off donations, that is still enough to pay for the domain.
I generally try and monetize all my projects, because as a developer, they cost money. Whether that's for the price of a domain, hosting costs, or whatever, I try and find ways to monetize at least some of my projects. And what those make is usually enough to also fund the ones that I choose not to monetize.
My idea is:
- If you plan on monetizing your project down the line: it probably isn't a horrible investment to buy a top-level domain
- If you have no plans to monetize your project: you should probably stick with a subdomain
But, of course, if cost is an issue, there is absolutely nothing wrong with using a subdomain to start.
I don't like link rot, but if it comes to it, you can always sell off the domains of old projects that never took off.