← Back to writing

What we built

A fully custom professional website — no templates, no monthly fees, no drag-and-drop builder — hosted free on GitHub Pages, live at my own domain (scottcurtner.com). Total cost: $0 beyond the domain registration I already had.

If I can do this as a Technology Auditor who knew "a little HTML," you probably can too.

What you'll need before you start

The steps

1

Build your site with Claude

Rather than writing HTML from scratch, I had a conversation with Claude about my professional background, goals, and visual preferences. Claude asked me targeted questions, I pasted in my LinkedIn content, uploaded my headshot, and Claude produced a complete, polished index.html file — one single file containing all the HTML, CSS, and my photo embedded directly in it.

I downloaded that file and saved it to a folder on my desktop called scottcurtner-website.

TipDouble-click the file to preview it in your browser before uploading anything. It works completely offline and you can catch any issues before going live.
2

Create a GitHub repository

  1. Go to github.com and sign in (or create a free account)
  2. Click the + icon in the top right → New repository
  3. Name it something like scottcurtner-website
  4. Set it to Public — this is required for free GitHub Pages hosting
  5. Click Create repository
3

Upload your file

  1. Inside your new empty repository, click uploading an existing file
  2. Drag your index.html file into the upload area
  3. Scroll down and click Commit changes

Your file is now on GitHub.

4

Enable GitHub Pages

  1. Go to your repository's Settings tab
  2. Click Pages in the left sidebar
  3. Under "Branch," select main and click Save
  4. GitHub gives you a preview URL like yourname.github.io/repo-name

Visit that preview URL to confirm your site renders correctly before touching any DNS settings.

5

Add your custom domain in GitHub

  1. Still in Settings → Pages, find the Custom domain field
  2. Type your domain: scottcurtner.com
  3. Click Save

GitHub will now attempt to verify your DNS settings. This is where the challenge begins.

6

Configure DNS at Network Solutions — read this carefully

GitHub Pages requires two types of DNS records. You'll set these at Network Solutions under Domain Details → Manage DNS.

The easy part — add 4 A records

These point your root domain to GitHub's servers. Add all four:

TypeNameValue
A@185.199.108.153
A@185.199.109.153
A@185.199.110.153
A@185.199.111.153

You can add these yourself through the self-service interface without any trouble.

The hard part — the WWW CNAME record

GitHub also needs a CNAME record for www pointing to your GitHub Pages URL.

⚠ The gotcha nobody warns you about Network Solutions ships every domain with a default WWW A record already in place — and their self-service UI will not let you delete it and replace it with a CNAME record. The edit is simply blocked.

I spent significant time trying to make this change myself before GitHub showed me this error:

"Both www.scottcurtner.com and its alternate name are improperly configured. Your site's DNS settings are using a custom subdomain, www.scottcurtner.com, that is set up as an A record. We recommend you change this to a CNAME record pointing to [your GitHub Pages URL]."

GitHub was right. The A record for WWW had to become a CNAME. But the self-service UI blocked every attempt.

✓ The fix Contact Network Solutions support chat. A human agent can make this change directly. When you reach them, say exactly: "Please convert my WWW A record to a CNAME record pointing to [yourname].github.io." It was done in minutes.

Your final DNS table should look like this:

TypeNameValue
A@185.199.108.153
A@185.199.109.153
A@185.199.110.153
A@185.199.111.153
CNAMEwwwyourname.github.io
7

Confirm DNS and enforce HTTPS

Go back to GitHub Settings → Pages. Once your DNS records propagate you'll see a green "DNS check successful" message next to your custom domain.

At that point, one final step that's easy to miss: check the "Enforce HTTPS" box. GitHub provides a free SSL certificate for your site automatically — but it does not activate until you manually check that box.

Why this mattersHTTPS is what gives visitors the padlock icon in their browser and ensures their connection to your site is encrypted. Without it, some browsers will flag your site as "not secure." Don't skip this step.
8

Verify everything

Visit both yourdomain.com and www.yourdomain.com in your browser. Both should load your site with a padlock icon in the address bar. You're done.

✓ You're liveYour professional site is now published, secured with HTTPS, hosted free on GitHub, and visible to the world at your own domain.

What this costs

GitHub Pages hosting: free. SSL certificate: free. The only ongoing cost is your domain registration, which you likely already have.

What's next — a three-phase learning arc

This whole process was Phase 1 of how I'm learning modern web publishing. Here's the full arc:

1
Complete
Phase 1: Download file from Claude → upload via GitHub browser → configure DNS → live site. No terminal required.
2
Up next
Phase 2: Install GitHub Desktop app for one-click syncing whenever you update your site. Still no terminal.
3
Optional
Phase 3: Learn 3–4 basic Git terminal commands for full version control. At this point you have a genuine developer workflow.

I'll be writing about each phase as I go. If you're a professional who wants a polished personal site without a monthly subscription and without hiring a developer, this approach is worth your time.

Scott Curtner
CIA CISA MCSE ITIL
Technology Audit Manager and GRC leader based in the San Francisco Bay Area. Writing about technology, audit practice, and what happens when a tech auditor goes deep on AI tools.

Connect on LinkedIn  ·  scottcurtner.com