DEV Community

Cover image for I rebuilt my portfolio website twice this year. Here's why.
Dan Spratling
Dan Spratling

Posted on • Originally published at

I rebuilt my portfolio website twice this year. Here's why.

I rebuilt my portfolio website twice this year.

I know how that sounds.

So why did I build my portfolio twice in one year when there are so many other things I could have been spending my time on?

There are a few reasons...

This article was originally posted over on, where you can see more articles about my website, design and development process and other projects I've worked on.

Learning how to design

I often use my portfolio website to test out new ideas and concepts, and one of my biggest challenges this year was learning how to design.

And what better way than to redesign my own website?

Specifically, I was learning how to use figma - an awesome cloud-based design tool

Using Figma to design a full website from the ground up helped encourage good working practices like theming & componentization.

See the design I created for my new portfolio in Figma

Could I have done a better job? Absolutely.

But I learned a lot

Understanding the core of how figma works will only make my design process faster in the future and allow me to practice more complex skills next time around

And for a first attempt using figma, it turned out pretty well with the finished website clocking in at over 700 likes on Twitter

Learning new technologies

A portfolio is the perfect place to try out new technologies which are interesting.

It's large enough to get really stuck into the new tool (or tools) but small enough to not be overwhelming or too complicated to understand what's going on.

I build my new portfolio using NextJS, TailwindCSS and DatoCMS and before starting the project 3 months ago I'd only used each of these a little.

NextJS homepage

Using my portfolio to practice new skills means I'm able to demonstrate my experience to clients with a real project to back that up so while I was never too worried about learning these tools, practising with a project which matters helps encourage me to understand each tool deeply as I care more about the results.

Skills which can then be passed on to my other work resulting in even higher quality builds.

Going Freelance

This was the primary reason I decided to rebuild my website from the ground up.

Going freelance meant a big change to my primary audience, where potential (and repeat) clients become the top priority for my website. My new website needed to show clients exactly what I'm capable of and make it easy for them to hire me.

Fellow developers are still a core part of my audience, but they became my secondary audience.

And this change meant my old website was almost entirely useless for my new focus, so if I was ever going to rebuild now was the perfect chance.

Combine this with a need for a new design and a desire to learn new technologies and a rebuild was the obvious choice.

When should you rebuild your website?

If technology has progressed a long way since your website was created and you haven't been actively maintaining it, it's worth considering a rebuild. A fresh start always feels great but it likely isn't always the right choice.

Benefits to rebuilding from scratch:

  • You'll likely clear off your technical debt, making the solution far more manageable
  • It's an opportunity to try out new things, especially on smaller non-consequential projects

Downsides to rebuilding from scratch:

  • It's a lot of effort and very time-consuming!
  • It's harder to test where problems have been solved when you start from scratch

Dan Spratling's new portfolio website

If you need help rebuilding or maintaining your website, or deciding which option is best for you then get in touch

If you'd like to keep up to date you should follow me on Twitter where you'll be the first to see my newest blog posts (and more).

Top comments (7)

benjaminraffetseder profile image
Benjamin Raffetseder ๐Ÿ‡ฆ๐Ÿ‡น

Congratulations on the redesign! It looks great. I rebuilt mine three times. From Drupal to Drupal as backend and Vue as frontend to Cockpit CMS to Angular. And the fourth iteration with a new design is already in the making.

I really love this process, because you have all the freedom and time you need which is great. A website or app is never complete, you always can spice something up.

danspratling profile image
Dan Spratling

Oh I definitely plan on iterating and making changes to mine too, just no more starting from scratch. Though I do already have plans for changing the backend and adding more content/designs ๐Ÿš€

cchana profile image
Charanjit Chana

I did mine twice too! First time round it was because I just had the itch to do it. The second time was because I just didnโ€™t get it right the first time ๐Ÿคฆโ€โ™‚๏ธ

danspratling profile image
Dan Spratling

Basically my experience too, except "didn't get it right" for me meant I changed my mind on what 'right' should mean!

vprdev profile image
Victor Peralta

Looks really good, you picked up the whole "design" thing really quick! Got any tips for a developer who wants to learn to make things pretty?

Also, why did you chose DatoCMS?

danspratling profile image
Dan Spratling

I've been working as a dev for 4 years already so I've seen some great and terrible designs, and I'm not afraid to use others work for inspiration.

Refactoring design is an excellent read for understanding why things look good and why they don't.

I chose Dato because I'm familiar with hosted headless approaches (contentful, dato, prismic) and wanted to learn one I could use with clients. I'm now looking into strapi to compare self-hosted solutions too.

hentaichan profile image

Excellent work, your color palette feels very calm and professional.