Portfolio project ideas

Some of my most important considerations when creating a portfolio project, and some project ideas to get you started

By Daniel Bate

22 Feb, 2021

I get asked a lot about what makes you employable as a junior developer, and I honestly believe that it is quality not quantity when it comes to portfolio projects. I think that investing time into a couple of projects and understanding what is happening line by line is far more valuable than having many mediocre projects. In an interview scenario, I have only ever been asked about my favourite project, however I believe having more than one just shows better real implementation and exposure, so having two is good practice. So here are my top considerations for portfolio project ideas, and some of my recommendations of things to build to get you started.

Is it personal?

There are countless tutorials online on how to make a todo app or a calculator. If you are going to have that as your headline project, it shows that you haven't wanted to take a tutorial further. And every junior will have these on their portfolio so you aren't going to stand out. It doesn't have to be completely bespoke - a todo app could be very easily refactored into a workout or study tracker and will be considerably more valuable.

Does it show a high level and range of technical skill?

If you are going to have a project on your portfolio, it should show the peak and range of your abilities. In real world applications, they incorporate a wide range of tech so your portfolio projects shouldn't be any different. Rather than having many projects each representing a different skill, have one that harnesses everything. If possible, try and include the following:


  • Blog - big fan of this one, can very easily implement all of the above and make it personal to yourself. This can be taken further if you create your own back-end (Node, Django, Laravel) rather than using a headless CMS.
  • E-commerce - e-commerce sites can be easily made personal and include a high level of technical skill. Stripe can also be implemented in sandbox mode so that test transactions can be completed.
  • Clone your favourite application - I love seeing these but maybe stay away from Netflix/Amazon/Twitter as everyone does these. Choose something smaller that has more meaning to you.
  • Game - I did this with three.js and it taught me loads about object orientated programming and listeners. Playing a game of something you've created with someone in an interview situation is also a really good way of connecting with your interviewer.

Good luck with your portfolio projects and remember, quality > quantity!