What makes a Impressive Web Developer Portfolio
Tags: portfolio, projects, jobs, webdev
Published: 2021-05-31 15:27:53

Developers either freelancers or job seekers are hired based on their portfolio. But what makes for a good portfolio?

So you are a developer & looking for a new gig or a job & everyone asks you for the portfolio? So what makes a good portfolio?

First of all there is no one solution fits all scenario. The development field is vast & depending on your work area your portfolio needs will vary. This blog is directed towards web-developers but I am sure you can use the concepts discussed here for your own purpose.

The first question that comes on the topic is "What kind of projects are valid?". 

The objective of creating these projects is to showcase the diversity of our talents. So our projects need to be from different domains. If we talk about basic CRUD apps, the app should allow all the 4 basic operations - Create, Read, Update & Delete. Throwing in a bit of data visualisation would really make it standout.

## Kind of projects:
- Social Media - like Facebook, Twitter
- e-Commerce - like Amazon, DTC brands
- Media Player - Netflix, Youtube
- Messaging, Group & Individual Chats - like WhatsApp, Telegram
- Productivity - like Asana, Trello
- Game, Extra points for Multiplayer games - anything simple like a Maze, Snake
- You can get more project ideas from  [ Product Hunt](https://www.producthunt.com/) ,  [r/appideas](https://www.reddit.com/r/AppIdeas/) ,  [Dribble](https://dribbble.com/) ,  [Behance](https://www.behance.net/) , etc...  

## FAQs
### How many projects?
Ideally it should be 5 projects but the bare minimum is having 3 projects.

### Are clones ok?
Yes making clones is ok but try to add / remove a feature, brand name. You can add a disclaimer in the footer that this is just for educational purposes.

### Is it necessary to deploy & have a live version?
Yes! It is mandatory to have a live version deployed. You can use anything basic like [heroku](https://www.heroku.com/about) & [netlify](https://www.netlify.com/) to deploy your apps. Extra points for using real world options like [AWS](https://aws.amazon.com/), [Azure](https://azure.microsoft.com/en-in/), etc...

### Is basic websites ok?
No! Basic websites are not ok as a project. Most companies are not looking for website builders.

### Is Backend heavy projects ok?
There are more openings in Front-End rather than Backend today but if you are targeting more for a Full-Stack or Backend heavy role, go for it. Just use the best practices for API & also document your API. The bar for Backend is higher.

### Mandatory features:

- At least 2 apps should have a Backend & should be connected to it.
- At least 2 apps should have a Database & some kind of Database storage.
- At least 2 apps should have a Login Auth functionality with user specific features, for eg. Bookmark.
- Atleast 2 apps should have some kind of Routing feature used.
- All four operations of CRUD.
- You may use API mocking providers like  [miragejs](https://miragejs.com/)  for other projects without back-end.
- It should be mobile friendly & preferrably responsive. If you cant make it responsive, limit the view-port to mobile width, so that it looks good even on desktop.

## Good to have
- Have a few contributions to some Open Source projects & have them merged.
- Some Data Analysis & Visualisation.
- Contribution in [GSoC](https://summerofcode.withgoogle.com/), [GSoD](https://developers.google.com/season-of-docs)& Hackathons.
- A fast-paced video walkthrough of the App with your commentary, highlighting any unique / challenging features. The reviewer doesn't have the time to go through your app in detail, make it  easy for him & bonus is you get to highlight unique features of the app.
- A Google Document talking about the system architecture of the app. If possible add reasons for choosing the said architecture.
- Tests incorporated in the project. The most basic of them are also OK. The idea is to let the reviewer know that you understand how it works.
- Optimised performance & lighthouse report.

## Good Practices
- Add link for the deployed App, Repo, Video & Google Doc in your Resume.
- The github code should incorporate the Psuedocode. It makes the job of reviewer really easy.
- Your commits in github should have meaningful comments. Avoid comments like "A minor update" rather say "Added the close button".

## Good Examples
- Check out this [portfolio of Rahul Jain](https://rahuldkjain.github.io/). What a pleasure. Though this level is not needed. Something basic is also more than good enough.

I will add more as I come across them

## References
- This post is mostly inspired from the topics discussed [here](https://www.youtube.com/watch?v=Vrwltd0y7p0). Do watch!
- Here is another [post](https://beyond-average.hashnode.dev/how-to-build-a-great-developer-portfolio-examples-and-tools) which goes into really a lot of detail on the topic.

Hit me up with any questions you would have!

Keep Smiling :)
Krishna.