Building my own Website

Building my own website has been a project itself, so I thought it’s worth documenting here for anyone else considering taking the plunge.

Reason

While working on my “Full Pipeline” project, which involves grabbing data using an API and plotting it in a web browser, I thought it would be nice if I had other pages to complement the plots. For example, an “About me” section or “Publications” section would be great for others to get a sense of the full variety of my work.

Where to start

As I’ve used Wordpress before, I first tried AWS Lightsail to host my website, which allowed me to use Wordpress for building. This worked really well to get a barebones website up and running quickly. It also allowed easy, basic customization. For example, I was able to add new paragraphs really easily, but I couldn’t always direct the paragraphs to exist where I wanted them to exist.

I also ran into some issues of adding custom HTML files, which was really important for me to properly display my Full Pipeline project.

Redirect

  • After doing some more reading on the topic, I decided hosting a website using AWS S3 suited my needs better. Additionally, it would be slightly cheaper than Lightsail.
  • Hosting websites on S3, while allowing ones to more finely edit, comes with the added work of editing HTML, Javascript, and CSS files for any changes one wants made.
  • Having started working with those files for the Full Pipeline project, I knew it would be a challenge but possible.
  • While HTML seemed very do-able, I found it was taking a lot of work to get new paragraphs going and looking good.

Finding Templates

  • Luckily, I found a website offering open-source site templates for me to start with (HTML5 Up).
  • I loved the look of the first template I downloaded to work with, Massively. However, I wasn’t able to get a drop-down menu going from the navigation bar. The javascript files for this template were impacting the navigation bar’s functionality, so I believe a drop-down menu could have been created with a fair amount of editing to the javascript files. However, being a novice in JavaScript, I didn’t think that was the best use of my time.
  • Instead, I found a new template, Editorial, where I really liked the look as well! That is the final design used in my website here.

Success

  • As you can see, the template is working pretty well! I have started filling the full website out with more information every chance I get — writing about past work, including new links, and continuing with my personal side projects.
  • My goal is to have a great portfolio of my work and feel confident showing it to anyone by the end of 2023.
  • I also want to continue blogging and showing those off as I explore more about the world and its complexities.

AWS Products Used

  • In addition to S3 for hosting the website, I'm using AWS's Route 53 to connect user requests from custom domains (alexchansky.com and www.alexchansky.com) to my website.
  • I'm also using AWS CodePipeline, which connects my website's S3 bucket with a GitHub repository. This allows for continuous integration/continuous deployment (CI/CD) of my website's content when I push updates to GitHub.
  • Next, I plan to set up CloudFront to speed up delivery of my website's content to the users.

Resolving ongoing issues

  • The first known issue I've found with the website which will need troubleshooting is the https domain not working.
  • https also gave trouble for the Power BI report, but http seems working for now.
  • https DOES work for HTML5
  • Search bar doesn't seem to work yet, unsure if worth fixing or simply deleting
  • "Weather Data Pipeline" page pushes menu all the way to left. Is there maybe too much text in any specific location?