Ethan Marks

Personal Website

ยท 4 min read

My personal website is my home on the web.

I made this site because I want to have an online presence, but I don’t want to use social media (e.g. Instagram, Twitter), nor do I want to use someone else’s premade blogging platform (e.g. Blogger, Tumblr, Wordpress).

My solution was to code a site of my own.

Tech

This site is completely static and was programmed from scratch in pure vanilla HTML, CSS, and JavaScript.

GitHub Pages

This site is hosted on GitHub Pages. I chose GitHub Pages because it’s free, seems reputable, and I was already going to use GitHub for source control.

My Github Pages deployment workflow

Build

This site is built using Hugo, an SSG written in Go.

Before switching to Hugo, this site used a custom SSG I wrote with 500+ lines of Python code, archived here.

Style Guide

I had a moderately specific vision for what I wanted my website to look like, and I think I accomplished that well with my site’s CSS styles. The primary stylesheet, common.css, contains 1215 lines of code. The auxiliary stylesheets add another 2040 lines. I utilized nestled CSS to create reusable and readable styles.

Color Palette

This site uses a dark theme with a spearmint teal accent colour.

Typography

I self-host this site’s fonts using variable woff2 files. Variable fonts significantly cut down on the file size, allowing the site to load faster. I sourced the fonts from the Variable Font Helper app, which sources them from Google Fonts.

Special Effects

Lighthouse

As of July 14, 2025, the site earns a perfect 100 on Google Lighthouse.

A Lighthouse analytic page showing 100 performance, 100 accessibility, 100 best practices, 100 SEO

To quote the official Lighthouse documentation: “A perfect score of 100 is extremely challenging to achieve and not expected”.

My site’s exceptional performance is largely a consequence of my aversion to web frameworks. Frameworks like React tend to be very heavy and slow, so by using hand-written JavaScript and CSS, fewer bytes need to be transferred to load the page. I also use WebP and WebM-AV1, the objectively best and most efficient formats for images and videos.

Privacy

This site does not use cookies, trackers, analytics, or any external telemetry tools. This is partially because I care about your privacy, but mostly because I don’t care about your personal information and collecting it sounds complicated. Your data remains yours because I don’t want it and can’t be bothered to harvest it.

Accessibility

This site is designed to be accessible to as many users as possible. I’ve done my best to follow best practices regarding meta tags, semantic markup, keyboard navigation, and alt text. Also, before each git push I test every single page in Firefox’s Responsive Design Mode to ensure that the site remains functional on different devices and screens.

Conclusion

My personal website is one of my favorite projects I’ve ever made. It’s aesthetically pleasing, serves a purpose, was fun to make, and forced me to learn new programming concepts.

I’m proud of my little corner on the web, and I hope you enjoy it as much as I do. Thanks for reading.

~Ethan