The screenshot above is the personal website that I’ve maintained for the last few months. It’s extremely simple, but it served its intended purpose as a central page pointing outward to my other online profiles. Yet recently, I’ve felt the need to improve my online identity for a couple of reasons.

Periodically, I want to share my thoughts and stories with friends, professional colleagues, and the wider world, but Facebook (unprofessional), Twitter (140 characters), and LinkedIn (low visibility & spammy) fail to meet my needs. A platform such as Medium could fulfill some blogging impulses, but my content would reside entirely on that website. If someone searches for me, I want them to be able to find my basic information and see the topics that interest me in one location.

Which brings me to my second point: online identities can be smart career moves. I’ve been following Troy Hunt for quite some time, as he’s a respected voice in the information security field, and his first blog post discusses this very subject and helped influence my decision for a upgrade. Troy rightly points out shortcomings of LinkedIn, especially how easy it is for individuals to exaggerate skillsets, reducing the usefulness of recommendations and endorsements. As for Twitter, it’s one of the easiest ways to present an online persona, but 140 characters is inadequate for serious topics and the mood of Twitter has changed due to the current political environment.

To a potential employer, having a dedicated history of commentary on technical subjects can be invaluable in substantiating claims made on LinkedIn or during the interview process. More broadly speaking, an up-to-date website can serve as a dynamic resume, showcasing your aptitude through a professional image crafted exactly as you wish to portray yourself.

With these considerations in mind, I realized that my website needs an overhaul, and the new version needs to showcase exactly the professional image I wish to convey.


I’ve chosen to utilize Ghost Pro, a commercially hosted blogging platform. Though WordPress is far more popular and hosts a wide array of websites, I am drawn to Ghost’s focus on blogging alone and the variety of minimalist designs it offers. Further, the WordPress ecosystem has been plagued by security issues, particularly in third-party add-ons.

While I’ve contemplated hosting the website myself on AWS, Azure, Digital Ocean, or GitHub, I view upkeep and administrative tasks as an unneeded distraction: even though the providers are inexpensive (or free), the opportunity cost of a couple hours a month is more than the slight expense of a managed platform, in my opinion. From a learning perspective, I’ve worked with host platforms in the past and won’t gain from a repetitive task.

Always security-minded, I’m glad to see the managed Ghost platform can be set up to force HTTPS, so I don’t have to worry about buying and installing an SSL certificate.


Knowing my way around HTML/CSS is something I value, but to be honest I do not have a desire to master the finer points of web design (such as cross-browser compatibility) nor do I have time to stay up to date on the latest developments. As alluded to earlier, I have unbending requirements about the professional image I wish to convey, so customizing a professionally-made theme is the best option. I’m cognizant of my personal psychology as well: if I choose to hand-roll my own design from scratch, the chore of tweaking and optimizing the UI will wear on me and divert my attention from the important task of creating new content.

Ghost themes use the Handlebars library of Node.js. I modified the “Personal” theme by Aftertype in ways such as:

  • Added secondary navigation bar for social media links
  • The theme utilizes Font Awesome, so it’s used for new iconography/buttons (no SVGs)
  • Modified the CSS stylesheet to improve readability
  • Modified formatting of post previews -- some pesky Javascript code wasn’t sanitized by the theme
  • New favicon

Posts are created using markdown, but normal HTML code is accepted of course. The process of embedding videos, images, tables, and dynamic content is straightforward.


Another component of design is performance, and I can happily say the managed Ghost platform performs well. I used Pingdom and GTmetrix for benchmark testing to shorten my load time below ~1.5 seconds. The diagnostic tools identified several 404/401 responses from the theme I adopted and showed that I erroneously uploaded a full-sized image for a thumbnail icon. Separately, Firefox Developer allowed me to correct for mixed content warnings (when the site tries to serve external embedded content over HTTP instead of HTTPS). These were quick fixes but demonstrate the importance of performance testing on Ghost, WordPress, or any other personal websites.


I’d love to hear any feedback about the website design or your thoughts on crafting an online identity. Don’t hesitate to reach out if you are considering a website of your own and would like advice on the process.