For about a year, my portfolio at rubarajan.dev was served by nginx on a Raspberry Pi sitting in my house, exposed to the internet through a Cloudflare Tunnel. Deploying meant running an scp script from my laptop.
It worked. That's the thing — it genuinely worked, for a year. But the site is 500 KB of static HTML, CSS, and fonts. No backend. No build step. No database. There was nothing about it that needed a computer in my living room.
So I moved it to Cloudflare Workers. The migration itself is genuinely simple — point a config file at a folder and push. What made it worth writing about is everything around it: a performance assumption that turned out to be half wrong, an image that had been silently broken for months, and a www subdomain that took an hour and three separate failure modes to get right.
The honest "why"
Let me start with the part most migration posts get wrong, because I got it wrong too.






