
Key Details
Date
Tech Stack
Link
2013
Backend: Node.js
Frontend: Express, html, css, javascript
Former hosted on: MacBook with dyndns and Nginx reverse proxy
Now hosted on: Digital Ocean Droplet configured with Nginx reverse proxy
I made this page to play with javascript animations and to learn self hosting
Use case
I’d created a couple of sites here and there that were sitting on my local machine or in heroku. There was also the domain I’d purchased – leogong.net that was sitting unused. I built this pretty quickly over a weekend – got to experiment with using javascript to animate my landing page. Nothing fancy, just html / css / javascript.
Until I migrated to digital ocean in Dec 2022, this was self hosted on my own MacBook. It was a fun way to learn about how routing and servers worked.
What it did
Pretty simple page with animated water droplets on a black background. The links would take you to my LinkedIn profile, or a few of my projects at the time:
- Dana’s podcast blog
- My package tracker
- My meal planner
How it was set up
- User would type in leogong.net
- It would resolve to point to my local machine’s IP address that was regularly updated by a dynamic dns service that ran on my machine
- Once it hit my machine, the nginx reverse proxy I set up would redirect the request for leogong.net to a specific port
- The node app that was serving this website would be listening to that specific port
What I learned
Hosting isn’t all that complicated. You can actually host multiple domains for free on your own machine. It felt like magic – it was pretty neat to dive into how reverse proxies worked. The main issue was dynamic dns and being on my own machine. The website pretty much broke after a few months when something about the dynamic dns script broke, and when I eventually replaced the laptop with a new one.