How I created my website for essentially nothing, vibing the whole way
Years ago, I created a personal website using GitHub Pages and a custom domain. It was simple enough, yet a painful experience to get everything setup. Fast forward to today, I want to have another stab at creating a personal website but I had two goals in mind:
- Spend as little money as possible
- Spend as little time as possible
So I decided to vibe code for the very first time.
Getting A Domain
If I absolutely had to spend as little money as possible, then I wouldn’t bother with this step. There is Vercel, Netlify, the aforementioned GitHub Pages, and so forth. But who in their right mind would trust someone without a proper domain name? If I’m going to sell something to you, or if I’m including it on my resume, I’m not going to leave you a domain like https://my-website-jchau.vercel.app.
So this is the only monetary cost you will have to incur. There are ample domain registrars out there - I went with Porkbun for $9 USD for a year. They also provide other paid services, such as web and email hosting, but we don’t need them. We’ll use free alternatives.
Building And Hosting The Website
Pick your LLM of choice - I went with Gemini 3 Pro and Claude 4.5 Sonnet/Opus - to first plan out the website and hosting requirements. Personally, I have a 6-month free trial of Google AI Pro as a perk from buying a Samsung Galaxy phone, but I think using free models could suffice.
Gemini suggested that I use Astro/Vercel to build and host the website. In its words:
For the tech stack, I decided on Astro paired with Vercel. I picked Astro primarily for its content-focused, zero-JS-by-default architecture which is ideal for a high-performance personal blog. Vercel was the natural choice for hosting due to its seamless integration with Astro and its generous free tier, helping me stick to my goal of keeping running costs (excluding the domain) at $0.
And so I did. What’s awesome is that my first experience with “vibe coding” proved to me that it’s not just “coding”. More accurately, it’s “vibe developing”. Gemini wrote all the code for the website, it suggested several hosting options, it even gave detailed (and accurate!) step-by-step guides on things like setting up a custom domain for Vercel.
Open MS Paint and draw a rudimentary wireframe of the website and send it to the LLM. Have it build a first iteration, and work with it until you’re satisfied. Deploy it onto Vercel, and done. Follow the guide provided by the LLM to set up the custom domain, done. Now we have a Git-controlled static website, hosted for free, with a custom domain.
Email Relaying
Porkbun provides email forwarding, which is free, and email hosting, which is not free. So emails going to <name>@jchau.ca are easily forwarded to my personal email, but what if I want to send emails from <name>@jchau.ca?
This is where an SMTP Relay Server comes in. It acts as an intermediary that transmits emails from your application or email client to the recipient’s mail server using its own trusted infrastructure. This allows you to send emails “from” your custom domain without needing to manage a complex mail server yourself.
There are many options out there, like smtp2go, but I opted for Brevo. Their free tier allows you to send up to 300 emails per day for free, which far exceeds my needs (and if you’re setting up a personal page, almost certainly yours). After signing up, all you need to do is verify your domain with Brevo and configure their SMTP credentials in an email client like Gmail or Outlook, and you can send emails from your custom domain.