I just redesigned my personal website for what seems like the 500th time. To be honest, I did this because I was too lazy to re-gain access to the DigitalOcean droplet my previous site was on.
This time, I went with a very, very basic layout; totally gray background, my name, some taglines, links to my account, and a gif of the flying toaster from the After Dark screensavers of the 90s.
This site took me only about an hour to make. Full disclosure, the layout is just
create-react-app's initial layout, with some extra sauce added in for my links.
I realized that as time goes on, my personal sites have gotten more barebones, and I have prioritized them less and less from their previous versions.
The first few sites I had were under a free domain I received at a hackathon,
danstarner.me. I was just learning web development, so I googled "Free HTML Resume Template" and picked the first one that looked visually appealing to me.
I built this site using Python Flask, and even though it was small, the code was quite a mess. I initially deployed it via Heroku, since I didn't know anything about setting up reverse proxies or server management. I didn't care though, I had a site that was mine, and it felt so good.
From there, I got a little greedy, and had learned a few things. I jumped back and forth a few iterations between Python's Django and Flask frameworks, but they all did the same thing. I tried to include a dynamic blog, and that led me down my first path of learning what a database was. It was wild...Like, I had control over what data was displayed on my site, and I didn't even have to redeploy? That was pretty cool.
These sites became more complex, and I would spend days and weeks trying to add all the features that I wanted; Markdown to HTML posts, post tagging, commenting, flagging...the whole 9 yards.
Slowly, building my personal site took up more time than the projects I was showcasing on it. I was infatuated with making my site the best it could possibly be...but then...
I slowly started to give less care to my own site, as it became too big of a beast. I had hacked it together as time went on, feature by feature as I learned how to do things. This meant I had left no documentation on how to manage or care for anything. Updating static information or deploying fixes just never happened, because I couldn't find the time, energy, or motivation to do it. Even writing for my blog slowly stopped, as I just found it to cumbersome to work with.
It was a sad time for my site, but one that transformed my thought process on how I should go about everything...
I have the programmer mentality of "I know that tool exists, but I'm just going to build my own version." This is okay in some regards, but why was I rebuilding a whole server and webstack for a site that was mainly static? So, I caved.
I tried using static site generators like Jekyll, Metalsmith, Wintersmith, and the sorts, but I just could never really fall in love with them. I always wanted an in-browser experience of updating and creating new content. I didn't want to have to redeploy every time.
I also found that I wasn't very good at editing the Mustache or Jade templates to look a way that I liked, and the default views just seemed too basic for me.
My personal site received no love, and it was like a barren wasteland of year(s) old content. What a sad, sad situation...
After some time of disarray, I started to think about my personal site again. I wanted to start blogging more often, and for that to happen, I needed a website I was proud of. The company I was working with at the time was using Ghost to manage their blog. In the past, I tried creating my own blogging software. I never found it terribly difficult, but it was something that I didn't want to manage anymore.
I gave Ghost a try, using DigitalOcean's One Click Image, and oh boy, it was everything and more that I wanted in a blogging platform...plus! Since it was open sourced (Yay #Hacktoberfest) it was free 🤑🤑 (Granted, the DigitalOcean hosting was $5 a month, but it was still worth it.) It's still the blogging software that I use, and I haven't had to touch it much, minus upgrading from v1 to v2 for all their cool new features. I still recommend this route to friends who want to start blogging (minus dev.to, of course 😃).
Finally, I reduced my personal website down to its core components. My name, a tagline or two, and some links to all of my accounts. No more complicated matters, no more databases or complex MVCs...just the basics hosted on GitHub Pages.
And you know what? It feels great now! If I need to make an updates, its a simple change and a single
npm command. I sort of went back to the static site feel of before, but since all of my content is on my blog, I feel as though this is all manageable. Speaking of the blog, writing posts is just as easy and fast with Ghost now, with none of the hassle!
What journey have you gone through with your personal website? Similar iterations and struggles, or what? I'll probably change my site again in the future, but for now, all feels well in the world.