Q: "How will it handle scaling to millions of users?"
A: "By crashing. But it will handle 100s or maybe even 1000s, and you currently have 3, so chill."
If your 3 users cannot read your blog then good luck getting to 10 users.
We need less reliable systems, not more.
I mean, that's why a mobile phone is being used, no? Because otherwise, a Raspberry Pi would suffice and would be cheaper and more reliable.
No signal for more than fifteen minutes every day? That must be frustrating.
But there are other factors such as battery dying or just dropping the phone.
Neither of these has happened to me. If they did, the uptime of my personal blog would be a much lower priority than fixing that problem. It's a blog, not a business.
Imagine a distributed social network where updates come via email. Updates are identified by the email client (or other) and automatically sent to whatever program needs to process them. You end up with a local copy of everyones stuff that is kept for a period of time.
For some applictions, it is simple to fallback or use always and luckily the basics are included. Unfortunately, lots of applications won't work at all and many would have to be rewritten.
At that point I'm not sure if it's functionally different to syncing markdown files to something like S3 or GitHub pages.
In practice this works only for trivial apps, that have no dynamic content, don't serve large files, don't see a lot of traffic, doesn't come from all over the world (each PoP has a separate cache), etc. CDN caching is opportunistic, most services assume server-grade hardware at the origin that can take some "warmup" load on its own.
Also if you're introducing a third-party CDN/cache, you're already throwing away a whole bunch of reasons for self-hosting in the first place.
So something exactly like a blog then.
Make websites not apps.
I do agree, let's build websites instead.
Nowadays you find dozen of CDNs. A personal site may be fine without it. If your plan is having an offline version ready to be served, as you expect a lot of downtime, distributed cache might not be the best architecture. Some CDN offer a dedicated layer of cache in front of your origin, but that sounds overkill for a personal blog.