Creating a portfolio website

- 5 minutes read

Having a website that showcases your skills is a really valuable thing as it allows anybody to find you online and see what you’ve built.

Why do I need one

  1. It’s a great way to display your skills since it can be hard to catch a recruiters’ attention with a resume or only a LinkedIn profile. It allows you to have a clear point where to send potential employers and recruiters.
  2. It shows you have experience managing a production website and have gone through setting up domains, hosting, deploying, etc.
  3. It’s a really useful tool to engage with recruiters by using it as a call to action in your profiles (Github, LinkedIn, Stack Overflow, etc.). When coming across a profile with a personal website, everyone is tempted to take a peek and see what that person has built.

What should be on your website

Your website should be the hub of your professional profile online. Link to all your online presences (Github, LinkedIn, HackerRank, etc.) that show your skills and interests.

You need a clear way to contact you, like an email or contact form. When setting up your “about” page, make sure to describe yourself and your interests.

You should use your website to host projects that you have built. It’s always easier for recruiters to use something you build instead of hunting around your Github profile to see what you did. Not everyone can read code and those who can most likely won’t take the time to look through your repos if they don’t think you could be a candidate. For every project you showcase, you should include:

  • Purpose of the project: Why did you build this
  • Objective: What was the intended result
  • Approach: How did you get it done
  • Role: How did you contribute

https://kinsta.com/blog/portfolio-website/

What should NOT be on your website

It’s easy to get carried away when building your website. In general, you’ll want to make sure that anything you do add doesn’t look half finished.

If you want to set up a blog you can, but please make sure you have a few articles written ahead of time and that you maintain it. Anything half-baked will make your website look worse than if it was missing a bit of content.

Use a template or start from scratch ?

This depends on what content you will have on your website. If you have a few projects you want to host and are able to show things you built, you can use a template for your website. Someone noticing that you’ve built your portfolio with a Gatsby template will see thatl as a positive in most cases. It shows you can pick the right tool for the job and don’t need to reinvent the wheel.

If your portfolio is a little thin, the website itself is a great way to show what you can do. However, it’s really important that if you build from scratch that you really focus on making it look perfect. Make sure it works on all breakpoints and browsers, because showcasing your work on a broken website is the worst thing that could happen.

Hosting your portfolio

There are tons of ways of hosting a website for free these days. This is especially true of static websites where you only need to host a few files. Here are some ways to do that:

Github Pages

This is a very good option because it’s extremely easy to set up, has easy deployments and supports custom domains with SSL for free.

https://guides.github.com/features/pages/

Firebase

This solution is perfect if some features on your website require data storage and a little bit more logic than a simple static website.

It has a generous free tier and allows you to have advanced features like authentication, a real time database, blob storage, analytics and much more.

https://firebase.google.com/docs/hosting

Heroku

Heroku is perfect to learn more about DevOps and servers because it can be a lot more hands-on than some other solutions. It can be a great way to learn more nitty-gritty details about websites and hosting, but it remains very easy and cheap to create a website. This option is also good if you need a server for some logic, since you can spin up some NodeJS servers easily.

https://devcenter.heroku.com/articles/getting-started-with-nodejs

AWS

AWS has some very generous free tiers which you can leverage for your website. You can use AWS S3 to host static files and add a CDN like Cloudfront or Cloudflare in front for better performance.

The huge upside to using AWS is that you can start exploring the world of cloud computing, which will almost be required in any developer role you will get.

https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html

Get Inspired

To get inspired you can look at websites like: