An opinionated guide to launching a web presence on a budget.
Sometimes someone will ask “can you help me set up a website?” without knowing what’s involved. Well, what is involved? They probably expect the website to have a domain name and a way to send and receive email. Often, they may want some way to know how many people visited and where they came from. Besides these basics, there are many specialized things a website might do such as selling products, collecting email addresses, managing subscriptions, or making appointments. They might want a way to easily make changes without asking for help again.
The prospect of setting this up can be daunting and a little overwhelming to the average person. Some companies offer attractive all-in-one solutions for non-technical people. This probably explains the popularity of Squarespace, Wix, WordPress, Shopify, and the like. The monthly fees and lock-in may not be so attractive, though.
If you’re on a budget and not afraid to click through a handful of sign up forms, another alternative is to stitch together your own low-cost and flexible web platform using a few different companies that offer free services.
Below is a checklist you can use to set up a nearly free platform to launch an online presence, along with my personally recommended vendors or products. With the exception of annual domain name registration fees, all of the below are free or have free tiers.
This guide will be updated periodically, so be sure to check back for updates.
Signing up for everything else will require an email address, and to have an email address you first need a domain name, so that is step one.
🏆 My pick: Cloudflare
Cloudflare registers domain names at cost, so it literally can not be any cheaper. Sites using Cloudflare nameservers can benefit from free DDoS protection and SSL certificates.
🥈 Hover: No-nonsense registrar with good UI and decent prices.
For tiny side projects with no hope of revenue, using your free personal gmail account may be good enough. However, it is generally more professional to use an address with the project or business’s domain name.
🏆 My pick: Cloudflare Email Routing
This is a good free option in a field of low-cost alternatives. While it requires another email account to actually receive and send email, routing is fine for getting started. Once you are making money, you can sign up for one of the other paid services below.
🥈 Fastmail: $5/user/month, with additional users for $3, 30-day trial.
🥉 Proton Mail: also good, priced similarly.
🏅 Google Workspace: $6/user/month includes Meet/Drive, and SSO
🏅 Microsoft 365: $6/user/month includes Office
Source Code Management
Source code management is a central repository to store the assets and code for the website and manage changes. Source control (a.k.a. version control or source code management) is essential even for only one person working on a project, and even more so when collaborating with a team. Continuous integration and deployment (CI/CD) helps to keep a site updated without downtime.
🏆 My pick: GitHub
The free tier has more than enough to build and deploy an average site several times a day. There are integrations with Render, CloudFlare Pages, Vercel, Netlify, and others.
🥈 GitLab: a widely used, safe choice.
🥉 SourceHut: privacy focused, currently free but not forever.
This is the point where you have to actually make the website, a whole other topic. If you need help building something, contact me.
Once you have source code, you need somewhere to deploy it so the world can see your new website. The host you choose depends on whether you can get by with static hosting or you need dynamic hosting.
A static website is one with stable content, where every user sees the same thing on each individual page. Static websites can only change when the source files are modified. This website is static, for example. Static sites tend to be simpler, cheaper, faster, and more secure than dynamic sites.
🏆 My pick: Cloudflare Pages
If you already have a domain registered with Cloudflare, then setting up a pages site is straightforward. There are integrations with either GitHub or GitLab, so choosing Cloudflare is most flexible.
🥈 Render: free static sites up to 100 GB of bandwidth/month.
🥉 (tie) GitHub Pages: next best if already using GitHub.
🥉 (tie) GitLab Pages: next best if already using GitLab.
A dynamic web application renders pages on-the-fly, allowing content to change according to each user. Think web applications, not sites. Dynamic hosts can usually serve both static and dynamic content, but static hosts can only serve static content.
🏆 My pick: Fly.io
Fly.io can run anything that runs in Docker. Their free allowances are generous and the pricing after that is fair.
🥈 Render: straightforward and powerful Docker hosting, heir apparent to Heroku.
🥉 Vercel: well-documented and powerful, but beware of lock-in.
🏆 My pick: Beam Analytics
Beam is as simple, lightweight, and privacy focused as analytics can be. The free tier is up to 100,000 page views/month, then from $11/month and up after that.
🥈 Plausible Analytics: $9/month, 30-day trial
🥉 Fathom Analytics: $14/month, 30-day trial