Welcome to liu.design

Thoughts on the never-ending UX portfolio construction

Illustration of an index card with text: “new site hello again world”

Hi there, and welcome to liu.design! Building a new website was one of my New Year’s resolutions. I’m glad to have completed it by March when 2024 can still be called the “new year.”

This post marks the end of my previous portfolio website: bobliu.io, which went live exactly four years ago on March 1, 2020. Here are some changes I made on the new website and things I learned while building it.

New Domain

I launched this website on liu.design. I wanted to stop using bobliu.io mainly because the .io domains became a part of the UK government’s modern-day colonialism[1]. I had been eyeing this domain for a while and was lucky no one grabbed it before I did.

bobliu.io now redirects to this site. I plan to keep the previous domain for a little longer and wait for the search engines to catch up.

Design More, Write More

I rewrote about my past projects when moving them to this site. It’s always fun to look back at my almost-binary mindset and think about how differently I approach things now. I hope you’ll have fun reading them too.

My previous design portfolio didn’t have a structure to capture my random thoughts that are yet to be full-blown projects. So, as you read this post, I have also committed myself to write a blog. I hope to write about design strategies I experimented with, whether they worked or didn’t, and occasionally share life updates.


If you’re a designer, you probably are no stranger to portfolios sites forever under construction. To me, this wasn’t the first time I went from writing about a new project to rebuilding the entire website.

I like static site generators and have used several of them to build my portfolio since 2017. bobliu.io was built with a Vue-based static site generator called Gridsome. I liked the framework a lot but had to move away from it because the project’s development quietly ended in 2020.

This site was built from scratch with Eleventy. I like that Eleventy:

My biggest pet peeve with static site generators is having to fiddle with file paths, and Eleventy was no exception to that. To customize the images displayed on this website, I had to create shortcodes and define where images live in the project folder. Figuring out the following line alone took my whole Saturday morning:

let imageSrc = `${path.dirname(this.page.inputPath)}/${src}`;

(Looks like Eleventy is working on an “almost-zero-configuration” image plugin[2] with the upcoming 3.0 release.)

Other than that, Eleventy mostly felt flexible and forgiving, and it didn’t get in the way too much. I do wish Eleventy’s documentation was more detailed and included examples, though I found answers to most of my questions from the amazing blog articles others wrote.

Get in Touch

Together with the new domain, I also made myself a new email: bob@liu.design. Drop me a line! You can also find me on social media linked from the bottom of this page. Thanks again for stopping by.

  1. The Digital Colonialism Behind .tv and .ly ↩︎

  2. Eleventy on Mastodon ↩︎