Skip to content

How I Built My Own Link-In-Bio Site

There are a few different versions of me on the internet — Josh the wedding celebrant, the content creator, MC, tour guide, dad, nerd, husband. Each role deserves its own spotlight, but I wanted one single place to send people where they could decide which Josh they’re after.

I tried the usual suspects — Linktree, Beacons, Koji, all those link-in-bio services — but every single one frustrated me.

They were:

  • Slow to load
  • Full of analytics and tracking bloat
  • Poorly customisable unless I paid for upgrades
  • And worst of all, I didn’t own the thing

If I’m going to build my business and identity online, I want the link that connects people to me to be mine. Fast, clean, easy, and hosted where I choose. So, I built my own using Astro.

The result is Josh's Link in Bio Theme — a fully open-source, lightning-fast theme that you can use too. You can host it for free on services like Cloudflare Pages, Vercel, or Netlify, customise it on your own computer, and put your own domain on it.

Here’s the full step-by-step guide for anyone — even if you’ve never installed Node, touched a terminal, or heard of Astro before.


🧰 What You'll End Up With

By the end of this guide, you’ll have:

  • Your own link-in-bio site running locally
  • Synced to your own GitHub repo
  • Deployed live for free to the internet
  • Using your own domain, if you want

🍺 Step 1: Install Homebrew (macOS / Linux only)

If you’re on a Mac (or Linux), Homebrew is the easiest way to install everything you’ll need.

In Terminal, paste this:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Then run:

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

Test it:

brew --version

If you’re on Windows, skip this and use the download links in the next step.


🛠 Step 2: Install Node and Git

macOS / Linux (with Homebrew)

brew install git node

Windows (no Homebrew)

Once installed, test in terminal or PowerShell:

git --version
node -v
npm -v

💻 Step 3: Install Visual Studio Code

You’ll want a code editor. Use VS Code — it’s free, easy, and perfect for this.


🧬 Step 4: Clone My Theme

Open your terminal and run:

git clone https://github.com/joshwithers/linkinbio.git
cd linkinbio

This downloads the theme into a folder on your computer.


📦 Step 5: Install Everything

In that same terminal window and folder, install the project dependencies with:

npm install

Then run it locally:

npm run dev

Visit http://localhost:4321 in your browser — that’s your new site! Now you just have to customise it.


☁️ Step 6: Make It Yours on GitHub

Go to github.com/new and create a new repo — leave everything unticked (no README, no licence, no .gitignore).

Back in your terminal:

git remote remove origin
git remote add origin https://github.com/YOUR_USERNAME/YOUR_REPO_NAME.git
git branch -M main
git push -u origin main

Now your version of the site lives in your own GitHub account.


🚀 Step 7: Deploy It to the Web

You’ve got three great free hosting options. Pick one:

🔹 Netlify

  1. Go to netlify.com

  2. Connect your GitHub repo

  3. Set build settings:

    Build command: npm run build
    Publish directory: dist
    
  4. Hit “Deploy site”

🔸 Vercel

  1. Go to vercel.com
  2. Connect your GitHub repo
  3. Vercel auto-detects Astro settings. Click deploy.

🟠 Cloudflare Pages

  1. Go to pages.cloudflare.com

  2. Connect GitHub repo

  3. Set build settings:

    Framework preset: Astro
    Build command: npm run build
    Output directory: dist
    

Done! You now have a fast, track-free, customisable link-in-bio website — and you own every pixel of it.


🧠 Bonus Tips

  • Want a custom domain? All three hosts let you add one for free.
  • Want to automate RSS feeds or referral links? The theme supports that out of the box. Read the README.md.
  • Want to change icons, colours, or links? It’s all in one JSON file: src/siteConfig.json. All documented in the README.md file.

You don’t need to keep using bloated link-in-bio tools run by VC-backed startups. You can own your presence online, and it’s easier than ever to do it well.

This is why I built Josh's Link in Bio Theme — and I’d love for you to fork it, remix it, and make it yours.

If you get stuck, you know how to get in touch.