Before deciding on the types of projects you want to include in your portfolio it’s important to answer a few key questions:
Question #1 is standard, you need to know you your audience to ensure that your work will have its greatest impact. For example, if you want to attract small mom and pop businesses it wouldn’t make much sense to fill your portfolio with 3D Unity zombie game renderings. The second question speaks to your passions as a developer. Too many coders create a portfolio full of generic projects that they don’t truly love and its apparent to potential employers and clients. Make sure that the projects you build fit your personality as a developer and that you are happy with the end result. Portfolio projects are not an item meant to be simply crossed off your developer check list, they should be projects that you’re personally proud of and enjoyed building.
Below are is a list of potential portfolio projects that encompass a comprehensive feature set and should impress a wide variety of clients. However they are simply starting points, not hard and fast rules.
Social Network Utility - build a basic social network with a clean design and features such as: having posts, followers, comments and integrate at least one unique/advanced feature, such as giving users the ability to edit each other’s posts. When I’m looking to hire a new developer I like to see that they know how to work comfortably with complex data models such as the ones required by a social networking application, so this makes a good portfolio project.
API tool - develop a search engine for StackOverflow that enables more advanced features than the main web application. A project like this would show that you can work with APIs and can implement a search engine feature.
Accounting application - you don’t have to re-build quickbooks, however an accounting project can illustrate that you know how to work with financial calculations, callbacks, advanced database queries, and information security.
Scheduling application - I’ve built several scheduling applications, this type of app will show that you know how to work with dates and times (no easy task for any dev), along with complex validations.
Front End application - build an application using a front end framework such as AngularJS or React and integrate it with a Rails backend, this will show that you know how to work with service based architecture and design.
Build these apps (or apps that contain the same level of sophistication), and you will be able to clearly showcase your expertise to potential clients, colleagues, and future employers. These projects will also give you a great code library that you can reference for future projects. I’ve lost count of how many times I’ve reviewed past portfolio projects to see how I implemented a specific feature so I could use it on an app I was working on at the moment.
If you'd like to see what my portfolio looks like, you can see it here.
I've been a software engineer for the past decade and have traveled the world building applications and training individuals on a wide variety of topics.