Pop vs Hosting Provider

Last Updated 2026-07-25

What do you do when your pop starts getting harassed on the phone by an agressive upsell campaign from his hosting provider for his static site?

You migrate his entire stack to AWS of course!

The problem

My grandfather, known in our family as Poppo, is the ultimate tinkerer. Professionally, he was a primary school teacher for most of his life, but you'd be forgiven for thinking he was a mad scientist if you spent a minute on his site. He has worked on projects in the areas of antenna design, mapping of abandoned mines in rural areas, electronic circuit design, local history, VBA and Excel programming, and more recently AI coding (a story for another time). I'm probably missing some other highlights...

He is the biggest reason I developed a love for problem solving, puzzles, and using technology to automate. I have fond memories of going up to his country property on school holidays, lugging my old tower of a PC, plonking it down in the middle of the dinner table where it would live for weeks at a time (sorry Grandma!), and working on projects together where we would tinker on old hardware, bring them back to life with Linux, and wire components together that maybe weren't meant to go together...

Poppo is getting on in years, he's in his mid 80's now, but he still has the same passion for learning and sharing knowledge he always has.

Unfortunately, he's been getting pestered more and more frequently by his hosting provider CrazyDomains. They've been calling him up, and asking him to upgrade his plan. Most recently, they've asked him to upgrade to the tune of $500 a year over what he currently is paying.

I say unfortunately, but this may be a bit misleading. You see, Poppo isn't a sucker. He knows he doesn't need to pay $300 a year to host this site, but since he's had other projects he's more concerned about, he's been quietly eating the cost increases. But $500 a year more? He might mention it to his grandson.

The site seems pretty straightforward, just a dozen or so static pages, tied together with HTML and a whole lotta love. I don't see what would be so expensive to host. Yes, he's also paying for DNS (premium: whatever that means), security upgrades (I assume DDoS protection, etc) and email hosting in addition to domain and web hosting.

The solution

I decided I would take on hosting duties for him from now on, and that we'd spend a day together migrating the site. The first thing we needed to find out was how his site currently runs, how he updates it, etc. Looking at the workflow he uses to update his site, it's super straightforward:

  1. Create the site with the WYSIWYG editor on a Windows Machine
  2. Upload the site's assets from within the editor over FTP

Yep! That's it. I reckon that's as simple a pipeline as you can get to make updates to your site. It's certainly faster and simpler than many of the clunky SaaS tools available today that claim to make building a site a breeze. With his workflow in mind I thought we could do the following:

S3, CloudFront and DNS

The WYSIWYG website editor Poppo uses is an old school application that reminds me a lot of Microsoft Publisher from back in the day, where you build out your website much like you'd build a set of Word documents. While Poppo has only ever uploaded his site via FTP from within the WYSIWYG app, by instead exporting to a local folder, it was clear that the application just creates a bundle of HTML, CSS and assets.

We wanted to confirm that there were no other hidden gotchas before we jumped the gun, so we uploaded these assets manually to an S3 bucket, and pointed the CloudFront distribution to serve these S3 files as a static site. Within 15 minutes, we had the basic proof of concept up and running on CloudFront.

The next step was DNS: pointing the domain to Route 53 was dead simple and worked within 10 minutes of updating the name servers in CrazyDomains, and after setting up the record pointing to that CloudFront distribution, we had successfully migrated his web hosting away from CrazyDomains. He just couldn't easily make any changes...

Creating a new upload button

WYSIWYG obviously doesn't have an 'Upload to S3' button, so we would need to create a way for him to export the site from a local directory. I haven't used Windows as my primary OS since high school (thanks Poppo for the indoctrination). However, WYSIWYG is a tool that you can only use on Windows, so Poppo keeps a separate machine for this and some other Windows specific tools.

Therefore, it was a little out of my wheelhouse; I wasn't quite sure what approach to take. I ended up asking Claude for some advice, and it was suggested to create a .bat script that would call the AWS CLI, which could be accessed by double clicking on the .bat file. The final workflow would therefore be:

  1. Create the site with the WYSIWYG editor
  2. Export the site's assets to a known local directory like C:\excelworks
  3. Run the upload.bat file that uploads the directory to S3 and invalidates the existing CloudFront distribution, forcing an update

True, there is one additional step needed to update the website compared to what existed before, but I think it's an acceptable tradeoff all things considered.

To set this up, I created an IAM user with permissions scoped to edit the S3 bucket and invalidate the CloudFront distribution. Then it became as easy as installing the AWS CLI, logging in with creds, and double clicking on the .bat file we placed on his Desktop.

Claude's generated .bat script

@echo off
echo ================================
echo  Uploading website to internet...
echo ================================
aws s3 sync "C:\excelworks" s3://bucket-name --delete
if %errorlevel% neq 0 (
    echo.
    echo ERROR: Upload failed.
    echo Check your internet connection and try again.
    pause
    exit /b 1
)
echo Clearing page cache...
aws cloudfront create-invalidation --distribution-id distribution_id_here --paths "/*" --output text
echo.
echo ================================
echo  Done! Your website is now live.
echo ================================
pause

Email

I use MXRoute for most of my emails these days, I got a deal for something like $20 for 3 years or something ridiculous. This gives you unlimited domains/inboxes, so @excelworks.info addresses could be administered by me without paying an extra cent. It requires a bit of configuration to set up correctly on the DNS side, but since I've done this a number of times using Route 53 before, it was as simple as looking at the DNS records on my existing domains to see how it is done!

I connected his email address up to Thunderbird on his Ubuntu box he runs as his primary machine, which actually took a surprising amount of finessing to get the config correct. We got there in the end, sorry the tea went cold Grandma!

Costs

In the end the ongoing costs of running the site now look something like:

Total cost: Worst case $36.50 a year.

Compared to the $800 a year CrazyDomains was pitching, I think it was a successful migration. Not bad for a weekend get-together! Finally for once I'm able to help him out with an esoteric project, rather than the other way around!

The Future

The follow up would likely be getting some analytics so he has some insight into who is accessing his site. I know he checks this from time to time. It's true, every hit from a different country is a little affirmation that there are people out there who appreciate what you have to say, and encourages you to continue.

At the end of setting this all up, Poppo mentioned that he is happy knowing that the site will continue to live after he's gone. This took a little while to process. I can't imagine this AWS setup failing anytime soon, but still, I've been tasked with an important responsibility: to keep sharing a treasure trove of knowledge of a person I really look up to. Hopefully that day is far away.

Regardless, it's made me reflect on the transitory nature of knowledge that is not passed down, and is making me think more about how we can ensure our own contributions to the common good outlast us. Anyways, a project for tomorrow...

Poppo and I