All Writing

How I Built This Site (Including the Part Where It Went Down)

February 22, 2026 · 5 min read

Earlier today I decided I wanted a portfolio website. By tonight, ryanpawloski.com was live. The gap between those two sentences contains a lot of things that no tutorial fully prepares you for — including a twenty-minute window where the site appeared to be completely dead.

I want to write about it while it's fresh, because I think the honest version of "I deployed a website" is more useful than the cleaned-up version.

The build itself

The site is pure HTML, CSS, and JavaScript. No framework, no build step, no npm install. Four pages: home, projects, writing, about. One stylesheet. One script file. The kind of thing you can understand completely because there's nothing hidden underneath.

I built it in collaboration with Claude over the course of an afternoon. I knew what I wanted — clean, minimal, something that felt like a person rather than a template — and we iterated from there. I made decisions about what to show and what to leave out. The AI handled the implementation. I reviewed everything, caught a few things that were wrong, and learned from what I was seeing.

This is a workflow I've gotten comfortable with. I'm not a developer and I'm not pretending to be. But I understand enough of what's being built to have opinions, ask the right questions, and actually learn from the process rather than just receiving output.

The deployment part nobody really explains

I had a domain sitting on Bluehost that I'd bought two years ago and never used. The plan was: host the site on Netlify — which is free for exactly this kind of static site — and point the domain at it.

What I didn't fully understand going in is that a domain and a website are two separate things. The domain is a name. The website is files on a server. The connection between them — the thing that says "when someone types ryanpawloski.com, send them to these particular files on this particular server" — is DNS. And DNS is managed by a third party called a nameserver, which you can change.

I changed Bluehost's nameservers to Netlify's. This is the move that hands control of your domain's DNS over to Netlify, which lets Netlify automatically handle pointing your domain to your site and issuing an SSL certificate so the connection is secure.

Simple in concept. Slightly nerve-wracking in practice, because once you do it, nothing happens immediately.

Propagation, or: why the internet is slow

DNS changes don't go live instantly. They "propagate" — meaning different DNS servers around the world learn about the change at different speeds. Your ISP's DNS servers might update in an hour. Your phone carrier's might take longer. There's no progress bar. You just wait and periodically reload a page and see what happens.

Here's the timeline from my afternoon:

An hour after the nameserver change, my desktop was showing the live site. My phone was still showing the Bluehost placeholder page. My phone in incognito mode — which bypasses the browser's cached DNS — gave me a "connection refused" error, which looked alarming but just meant the DNS had partially updated to point at Netlify but the SSL certificate hadn't finished provisioning yet.

Then, for about twenty minutes, the site went completely dark. Desktop, phone, everything. Gone. I had a brief moment of genuine panic before remembering that this is also a known thing: the old DNS records expire, the new ones haven't propagated everywhere yet, and there's a gap. The site was never broken. It was just in transit.

It came back on its own. It always does.

What "live" actually feels like

There's something strange about seeing a URL you own resolve to something you built. Logically I know it's HTML files on a server. I know how it works. But there's still a moment when you type your own name into a browser and your face — or in my case, my initials in a placeholder avatar — loads on the screen, and something about it lands differently than you expected.

I've been using the internet my entire life. This is the first time I've put something on it that's actually mine. Not a profile on someone else's platform, not a post inside someone else's system — something I built, at a domain I control, that works because I made it work.

I wasn't prepared for how good that would feel.

The part worth thinking about

Six months ago I was a physical therapist whose relationship with technology was purely as a consumer. I used apps. I complained when software didn't work. I had no framework for understanding how any of it was made.

Now I have a live website with a custom domain. The gap between those two states is smaller than I thought — not because it's easy, but because you can close it incrementally. One working thing at a time.

The first working thing was an HTML file that called an AI API and turned my clinical shorthand into a documentation draft. Then it was four tabs with different note types and their own system prompts. Then it was this — a website, live, at a real URL.

I still have no idea what half the CSS is doing. I couldn't rebuild this from scratch without help. But I understand it well enough to own it, change it, and keep building on it.

That turns out to be enough.