Host a blazing fast portfolio page in 59 minutes
Keith Reynolds
Product Manager at Stripe; working on making Risk UX as easy as taking payments. Launched BrandConnect at YouTube. Landed a rad collaborative OLAP tool at Google. I like to fly airplanes.
My old Wordpress site was dying. I added an elegant custom theme but it seemed to be breaking the site after a few years. My site performance started getting slower, and I was embarrassed by glacial page loads and broken components.
Design Idea
I noticed that colleagues and other product people I follow have really simple sites that load fast and look great. I wanted one too.
So I decided to start fresh. There are a ton of free tools to help you publish a responsive site that suits your style. Also, I was feeling nostalgic for early web in the sense that I didn’t need to build an interactive site, I just wanted to publish a beautiful site quickly. I wrote this post to share with you a wealth of free resources I found for free web hosting.?
Here's the design I landed on for my portfolio at keithreynolds.me (fig)
Easy, Free, and FUN Resources
Have you thought about a portfolio page but needed a nudge to commit? Here’s a few reasons to compel you to try this out:
Impact
On top of the kudos I got from people, I'm using my site to measure the efficacy of a little marketing campaign.
If this sounds good to you, or if you’ve been inspired by a colleague’s site, you can do the same by yourself. Consider the confidence that comes with learning a new skill (or scraping the rust off while ditching your old web site).
OK how to do this in 59 minutes or less? I summarized the major steps below, with some optional TODOs that I think you’ll appreciate once you’ve done the basics.
Create and host a beautiful site in 3 easy steps (59 minutes)
This procedure will lead you through creating a user site at username.github.io. If you’re happy with that, you can actually stop after completing step one and just configure your theme in GitHub Pages.
1) Sign up / set up GitHub Pages (5-15 mins)
Complete the rest of GitHub’s quickstart and come back to this page when you’re done?
Note: You can actually stop here! You might be done in 15 minutes!
?? Continue with steps 2-3 if you want to use your own theme or a vanity URL?
2) Select a responsive HTML template (15-30 mins)
There are a wealth of resources out there, I'm partial to HTML5UP for their elegant, minimal designs that are easy to edit. You don't have to know how responsive pages work, they just present beautifully on mobile and desktop!
3. Upload your customized template to your GitHub repo (9 mins)?
? Now verify your site is published!??
Optional TODOs?
These aren’t required, but I wanted a fast site. Because I publish sporadically, I am fine with posting article previews that link out to LinkedIn (where you’re reading this).
If I get more active, I may explore tools like Jekyll for a more efficient posting flow. In the meantime, check out some of the things I did, why I did them, and their impact:
Register a vanity domain & keep your free hosting
??GitHub Pages hosting remains free even if you use a vanity URL
?? To configure your vanity domain (and enjoy free hosting from GitHub pages):
领英推荐
Optimize site performance
Remember how my Wordpress (plus out of support theme) performance was deteriorating? I was curious to see how my new site performed. I wanted my page to load super fast.
I used PageSpeed Insights for a quick audit of desktop and mobile performance, along with actionable suggestions to improve my score. My first iteration scored in the 70s for Desktop. After making a few of the suggested changes I bumped it up to a 96. Not bad!
My page loads super fast in Desktop. But one thing I learned is that mobile performance has its own considerations. Other than the easy changes suggested, I didn’t prioritize the bigger ones yet. Why? Because I learned from Google Analytics that >95% of my site traffic is desktop. More on that below.
Tag your site with Google Analytics (GA) to get free measurement and attribution
I love Google Analytics! Just add a snippet of .js to your HTML and you can collect a wealth of information about visitors to your site, actions they take (incl conversions), time spent, even demographics like geography, etc.
If you want to know more, highly suggest you take a look at what my colleague Ateeq Ahmad is doing over at Albany Analytics. He's got great resources to help demystify web tracking and get to you analyzing your site performance right away. His philosophy is to help Marketers navigate the technology needed to help understand the efficiency of marketing campaigns.
In my case, I wanted to use Google Analytics to do a bit of attribution experimentation on my site. How are people finding it? How many are clicking on links I've shared in my resume vs email or cover letters? Read below to find the answer
Tag your resume, email links, etc. with UTM parameters
It turns out people (and bots) are clicking on links that I share! How did I determine that?
In this case, I'm tracking visits to my portfolio site. Looks like people are clicking on the link I dropped into my new resume about 20X more often than the original version. Neat!
UTM parameters (also called UTM tags) are snippets of text ("keys") you can add to the end of your URL to help you track your clicks (with "values"). They look like these things after the '?' mark:
These snippets help you track where website traffic comes from. So if a user clicks on a URL from your resume to your landing page, you can attribute your inbound traffic sources.
To populate that GA report above, I used parameters which show up in native Google Analytics reports. I use the utm_source= and utm_medium= params and I apply whatever values make sense for the medium (eg. LinkedIn, Resume, etc)
Add a 2nd template for posts and decide between a subdomain and a subdirectory
Of course, the portfolio site design isn't well suited for posts, and I like to publish things from time to time. So I found another free template and repeated the process
Tradeoffs & Conclusions
While preparing for this article, I found that GitHub Pages upped their game and they obviated much of what I wanted to write. That's great!
I optimized for speed and low maintenance. Because I post infrequently, I don't mind updating static pages. However, since I like writing, and I like learning new skills, I am excited to try adding Jekyll to my site. Jekyll is a static site generator that text written in your favorite markup language and uses layouts to create a static website. You can tweak the site’s look and feel, URLs, the data displayed on the page, and more.
I may add another post once I figure it out. One lingering issue is accessibility (fig).
One of the things I liked about shipping products at Google is how accessibility tests were part of all launch reviews. I will research what can be done to improve the UX for people who use screen readers, for example.
One more thing
If you've read this far, you may or may not know that 5/20 was my last day at Google. Bummer!
While I'm happy to be working on a few things (incl advising a BI startup called Dablr.io) I'm seeking full time Product Management lead roles.
I'm a skilled 0-1 product development leader. Things I’ve become good at: Solving hard problems, making teams work better, and coaching ICs to high performance.
?? Got a role open? Let's talk! (and please like and share this post) Thanks for reading!
References
Analytics Specialist | 500+ GA4 Implementations via Google Tag Manager | GA4 Integration Expert for Shopify, WordPress, BigCommerce, Magento | Data Visualization Pro in Looker, Tableau, Power BI | Expertise with BigQuery
8 个月Such a wonderful guide and as lucid as you always were! Thank you