Skip to main content
The Research Process of Creating a Personal Portfolio Site

The Research Process of Creating a Personal Portfolio Site

·6 mins·
Author
Gabriel Baltazart
Undergraduate Student at the University of Alberta
Table of Contents
Personal Portfolio Site - This article is part of a series.
Part 3: This Article

Introduction
#

This article covers all the technologies that I encountered while researching possible options for this project, as well as the thought process behind the final choices that I made.

Static VS Dynamic Sites
#

The first choice I made in this project was choosing between a static or dynamic site. Unlike a website like Amazon, my website does not need to be different for each user, so there is no need for a dynamic site with a database. Hence, I chose to use a static site generator.

The biggest advantage of a static site generator compared to a dynamic site generator is speed. When the site is served to a client the web server only needs to provide html and css files that have already been built. Removing the database also increases security by reducing the attack surface.

Static Site Generator
#

Astro
#

When searching through recommendations one of the most modern static site generators I came across was Astro. The biggest selling point of Astro is fast page load times for users as no JavaScript is sent to the client by default. In addition, Astro has the ability to use React, Vue, Preact, Svelte, and Solid frameworks all within the same project. I found this options quite appealing as I like the idea of being able to expand to different frameworks in the future without having to switch technologies entirely.

Jekyll
#

Jekyll was the first option that I heard about when I was first researching static sites as it was mentioned in the GitHub Pages Docs. While Jekyll doesn’t have the latest features like Astro it has the advantage of being older and therefore widely supported

11ty
#

11ty was another technology that came up quite often when looking through different lists and recommendations. While newer than Jekyll it is still an established technology that has the advantage of being widely supported.

HUGO
#

HUGO is yet another static site generator. The standout feature of HUGO is that it is written in GO with its own custom compiler when building the website at runtime, this results in millisecond build times even for very large websites. While I doubt that my website would become large enough to see a difference compared to the other static site generators, I still found that it was a nice feature

Final Choice
#

Ultimately there was no ‘correct’ choice in this case as all the frameworks have good offerings. The documentation between the different technologies are about the same quality from what I had observed. I ended up choosing HUGO as I found the blowfish theme that covered all my initial design requirements and also included additional features that I hadn’t initial thought of such as: table of contents in articles, support for article series, and a search bar for the whole site.

TLD Choice
#

When choosing a domain name there are many different interesting choices, notable options I found were:

  • .com - Standard choice for most website
  • .ca - TLD for canadian websites
  • .me - ccTLD that fits well for a personal site
  • .cv - ccTLD that fits well for a portfolio site

I ended up choosing a .ca domain because the TLD has WHOIS privacy by default for individuals rather than needing to purchase an add-on from the domain registrar. While generic TLDs (gTLD) would be able to reach a global audience faster, I don’t that is less important of a factor to me. I also prefer a more standard domain name that is recognizable like .com or .ca which is why I didn’t end up going with something like .me or .cv https://www.nominus.com/en/dm/blog/country-domains/generic-tld-vs-country-code-tld-which-is-the-better-option

Domain Registrar
#

Porkbun
#

When searching for recommended domain registrars, Porkbun is a name that came up very often in user forums as having good service. Porkbun’s offerings have WHOIS privacy included by default. However, as I plan to get a .ca domain this doesn’t matter.

Cloudflare
#

Cloudflare is a recognizable company that offers many services in the space of hosting, traffic routing, and DNS. Therefore, this provides quite an integrated solution. I really liked the transparent pricing that Cloudflare displays when browsing domains, showing a consistent price for every year rather than a cheap offering for the first with an expensive renewal fee.

Namecheap
#

Namecheap is often recommended as a place to get good deals on domain, however for the domains that I was looking for the offerings were not any cheaper than with Cloudflare.

Final Choice
#

In my case the price of the domain name was the same between registrars that I looked at. I ended up choosing Cloudflare as my registrar of choice due to their transparent pricing and integrated hosting solutions. Keeping with the design requirement of having the website being as low maintenance as possible, I have more confidence that the company will exist for an extended period of time. This would avoid me having to switch registrars in the future.

Note

While going with a larger company may reduce the chance of choosing a company that goes out of business or suddenly dissapears, it is not guaranteed that I will not have to change my registrar in the future as evidenced with Google selling their domain sevice to Squarespace.

I think I will go with Cloudflare because I have more confidence that the company will be around for a long time.

While sites like Porkbun and Namecheap often have good deals, especially for the first year of a domain, I found that for my use case the domain prices were actually quite similar.

Nameservers
#

While most domain registrars allow you to either use the nameservers provided by the registrar or pick your own nameservers, domains purchased from Cloudflare are locked into using Cloudflare’s nameservers.

While this may be an issue for larger websites that require advanced configuration for nameservers, Cloudflare’s nameservers already offered all the features that I needed including: DNSSEC, reliable uptime, and a worldwide network for fast DNS resolution.

Hosting Solution
#

The two options that I came across while doing research for hosting my website were GitHub Pages and Cloudflare Workers. Both options had free tiers that were more than sufficient for the traffic that I expect my website needs to handle. The main difference for my case is that GitHub Pages requires your website repository to be public for the free their while Cloudflare Workers doesn’t have the same limitation.

As I prefer to have the option to keep my website repository private, I ended up choosing Cloudflare Workers as my website hosting solution. Another advantage to Cloudflare Workers was that since I chose Cloudflare as my domain registrar, the DNS settings were automatically managed by Cloudflare when setting up Cloudflare Workers.

Thumbnail image by Hans-Peter Gauster on Unsplash

Personal Portfolio Site - This article is part of a series.
Part 3: This Article