Top

Main Page

Projects

Kyle Shepherd

Website Design

I wanted to create a portfolio of projects that I have created. I chose to present my prior work in website format, which ended up turning into a project of its own.

This page documents my thought process while making this site.


The first step was determining what kind of website I wanted. In general, there are two kinds of websites. These are static websites and dynamic websites. Static websites consist of HTML files, CSS files, and Javascript files. The website sends these files to the website visitors and the internet browser on the visitor's computer renders the website. Dynamic websites consist of HTML, CSS, Javascript, and has some code on the website end, the server end, that can dynamically alter the content of the website. Dynamic websites are required for any websites that have a database that needs to be updated frequently. An example is any website with user accounts, where user information needs to be stored and modified. For me, I just need to present information about myself to other people, so a static website fits my needs.


Next, I needed to figure out where my site would be located. While it would be possible to set up my site on a personal computer, it would add additional complexity to my site, and access to my site would be dependent on my personal internet connection which can be unreliable. Therefore, a website hosting service was used for my website. I decided on an Amazon S3 bucket for my site hosting, because it seemed to be easy enough to implement, and it provides pricing by usage, and not a flat monthly cost. That means it is very cheap to host a site with only a few hundred visits a month, and the automatic scaling means if my site becomes more popular, it will not be overloaded and crash.


When coding up the website, I wanted to just use HTML and CSS. Since I am just presenting my portfolio, I do not need to be running scripts on the visitor's computer. Later, I may implement javascript for specific projects if interactability is needed to better explain the project.


If you wish to see the code I wrote for this site, you can bring up the developer tools in your browser, and see the HTML and CSS that your browser downloaded.