The internet is the key to growing and scaling, and it's never been easier or more affordable to get started.
If you’re running a small business, charity or campaign then you need to get it in front of people, and that means getting it on the internet.
The good news is that once you’ve acquired a domain name, everything else you need to get started is free courtesy of modern technology. As you scale up you may want to migrate to paid services that can handle more complex requirements or are designed for higher use, but there’s no need to go there on day one (and for many small projects, you may never need to go there at all).
This is my guide to bootstrapping something good enough to get you started out. In the spirit of building an MVP I’ve tried to limit it to the essentials, but feel free to drop any tips or questions in the comments box at the end. I hope you find it helpful!
Internet domains are basically commoditised, so pick whatever registrar you like as long as they are reputable and will let you use third-party nameservers.
This is the only step that will cost you money, but it won’t break the bank: standard domain names (.com, .co.uk, etc.) will run to about £10 - £15 a year.
This will get you protection against DDoS attacks, improvements in site performance via a global CDN, and the option to use Cloudflare’s SSL services with your domain.
Set up Cloudflare for free here.
This will serve your website directly from a GitHub repository. You can pick a theme and start adding content via your browser, or if you want to build something bespoke then Pages supports Jekyll for static sites and blogs.
You can tell Pages you have a custom domain name, and use your Cloudflare account to direct website traffic to GitHub’s servers.
Set up GitHub Pages for free here.
You’ve probably already got one of these, but if not then this will get you a free Gmail mailbox and access to a bunch of useful apps like Docs, Sheets and Drive.
If you’re running a registered nonprofit then you can upgrade to G Suite for free and skip the next step by hosting your domain’s email directly with Google.
Set up a Google Account for free here.
This will forward email from your domain to your Gmail mailbox, and also provide an outbound server you can use with Gmail to send email from your domain.
You’ll need to use your Cloudflare account to direct incoming email to Mailgun’s servers, and change the settings in your Gmail account to use your preferred outbound address.
Set up Mailgun for free here.
This will help people find and share your content on Facebook, and give them another channel to get in touch with you. You can also use your Page to drive traffic to your website.
Set up a Facebook Page for free here.
This will help you engage your customers / supporters, and is another good way to drive traffic to your site. Automation makes it easier to reach the right people at the right time, and to measure how your campaigns are performing.
Set up Mailchimp for free here.
This will get you all the insights you need on your website traffic, including how many visitors you have, where they are coming from and how long they stay.
Set up Google Analytics for free here.
This will let you accept card payments on your website; the interface looks great and is super easy to use. Stripe charges a fee per transaction, but there is no standing charge.
Stripe requires a server-side action to complete a payment, but you can handle this by using Webtask.io to set up a serverless endpoint.
Set up Stripe Checkout for free here.
Postscript: the alternatives
The steps above will suit anyone who is happy to learn a few new things along the way, and there’s a real sense of satisfaction to be had from getting it all up and running.
If you don’t fancy being so hands on with the technology then Wordpress.com is a great alternative to consider. It’s easy to get a basic website online, and the pricing is pretty reasonable. The drawback is that you can end up reliant on third-party themes and plugins, and it can be complicated to manage if your site gets big.