How do You Create a Portfolio Before You Have Clients?
6 min read

How do You Create a Portfolio Before You Have Clients?

How do You Create a Portfolio Before You Have Clients?

Clients buy based not on what you can potentially do, but what you have already done. A portfolio showcases previous accomplishments, but if you’ve been doing work for a company, you may have an NDA or non-compete clause in your contract preventing you from showing off your work. Having a portfolio reduces the risk of hiring you for your client, but how can you put one together if you don’t have projects you can display?

Sometimes, You can show off employment work

Check your contract and talk to your employer before putting any work you did on their time in your portfolio. Sometimes it’s a no-go, other times your boss will let you include your work as long as you don’t claim sole credit and provide a link back to them.

Create a Side Project

Build something fun, that’s just for you. In addition to being a way to start building your portfolio, it can potentially be an asset to your business later. It doesn’t have to be large. A weekend hackathon project you shipped is better than a large scale dream project sitting on your hard drive.

Create Studies

Dribbble is a popular site among designers. They can share small samples and of their work. These brief glimpses are smaller and easier to finish than an entire project, and they don’t have to be part of a complete project. If you have an idea for a contact page design, then make just that. It can work as an example of what you can do.

When you haven’t done paying work yet, you can fake it until you make it. You don’t build trust by lying, so when you do design studies like these, label them as such.

Contribute To Open Source Projects

If you are a developer, clients will often ask you for a link to your Github profile. You can fill this by finding open source projects where you can contribute.


When I first started freelancing, I always said I wouldn’t work for free. The fields of programming, design, and copywriting are young and ethereal. People don’t understand the work, can’t touch it, and don’t always know what it’s worth. I usually wouldn’t advocate for free work because when you work for free, you don’t only devalue your work, but the work of your peers.

There are times when free work can be beneficial to your business, but these are dwarfed by the number of times it’s a bad idea. If you are ever unsure, the answer is “No.”

It is never okay to work for free on other’s people’s terms. It is ok to work for free, every once in a while, on your terms.

Here is my go-to script when offering to do something free for someone:

“Hi, I’m getting started in offering $SERVICES. I’ve looked at your business and thought I could help. I’d like to provide $DEFINED-DELIVERABLE for no cost. All I ask is a testimonial and referrals if you are happy and honest, constructive criticism if you are not.

I’ll work for free, but I won’t work for nothing.

Let’s take a look at some of the key points of this script.

  • It includes a defined deliverable. When working for free, it’s important to determine up front what the scope of the work will be. This should be something defined by you, not the recipient. Being clear about what is not included can be helpful here. You want to avoid supporting a free project for an unknown amount of time here.
  • You ask for something in return. Just offering for work for free can leave people asking “what’s the catch?”. I tell them the catch-up front: I want either testimonials which have marketing value, referrals which have sales value, or criticism which will help me find quality value.

Should I Do Free Work For Non-Profits?

Non-profits are a sticky situation. I have a no non-profits rule, but that is mostly because working with them is a chore. Non-profits have fewer incentives for efficiency and greater incentives for making people feel good about themselves. It all adds up to a lot of decisions by committee.

Many people also think that “non-profit” equates to “non-money” which is not the case. Non-profits are businesses just like any store, manufacturer, or service provider. The difference is that they give excess money to the benefit of others (if they are honest). This also means they have the same budgets for web design, marketing, and outreach as they do for office supplies.

I’ll admit I felt a little seedy the first time I put a non-profit on a $1,000/month retainer, but helping them raise $15,000 in donations they wouldn’t have otherwise in 4 months assuaged my guilt a little bit. (I eventually fired this client because I got sick of every decision requiring a half-dozen sign-offs before getting completed. It could have been $25,000).

If you work for a non-profit, they should pay like a regular client, and you should treat them with the professionalism that warrants.

There is an exception to this rule if you believe in the cause and want to do it for your benefit. Just don’t try to spin your labor as a tax write-off, it’s more headache than it’s worth and won’t save or make you money.

If you work for free because you believe in the cause, the above rule about defined scope still applies: The project needs to be finite, and defined by you. Asking for referrals doesn’t hurt.

What About Friends and Family?

Mixing business with friends and family is a murky swamp filled with relationship-ending gators. If you do, the same rules still apply: pre-defined scope & a request for referrals, testimonials, and feedback.

One exception here is your mom. She gave birth to you, just make her a website on Squarespace already.

Teach What You Know

The most popular thing I’ve published online to date is an essay titled How I Used Writing To Double My Freelancing Rate as a Programmer. In it I talk about the value, you add to your business and your clients by being able to write professionally. Instead of retreading that ground, I want to focus on two ways writing, and publishing can help you bootstrap your freelance business: Writing can help you display knowledge, or it can help you gain experience.

Write to Display Knowledge

I wrote an article called “AngularJS: An Overview.” I wrote this after working on my first AngularJS project for about a month. I went over the basics and created a “for dummies” guide to getting started. I didn’t intend to publish that article, but it got some traction, and even though it is a “just the basics” article, it got me the attention of some potential clients.

Writing about solving problems you have encountered in the past. It has led to some dry articles like “How to test controllers in Rails 4”, or “How to write a command line tool in CodeIgniter.” But such items have generated traffic. They are also an excellent way to “upcycle” your work. I figured out how to set up command line tools in CodeIgniter because a project necessitated it. I could have completed that work and helped one person. But by writing about it, I helped 1,000.

If a client ever asks about something like that, I can point them to that article. It is every bit as valuable and in some cases more than a portfolio piece.

Portfolios are about proving you can get the job done. Writing about the tools and techniques you use is another way you can do that.

Write to Gain Knowledge

Programmers, like kittens, are easily distracted by shiny things. The reason there are so many languages, tools, and frameworks is because of the combined force of the fun of creating something new and the disdain of technology once you are comfortable with it.

At one point my shiny thing was NodeJS: A way to use the knowledge I had of JavaScript on the back-end as well as the front-end. I had about reading two blog articles worth of knowledge about it, but that was enough to wet my appetite.

I was sitting in a local developer’s meetup where once a month, two people would give a talk on a tool, language, or technique they found interesting. Afterward, they were asking for volunteers to give a presentation the next month.

I volunteered to give a talk on NodeJS.

It may seem crazy to volunteer to give a talk on something you know nothing about, but it isn’t. What did I do? 

  • I researched. 
  • I wrote code examples. 
  • I built small sample projects.

The act of writing was a learning experience for both my audience and myself.

You don’t have to be an expert in a subject to write about it. In fact, quite the opposite. Writing is refined thinking. It makes your spastic monkey mind slow down, and put your thoughts in a straight line. When there are gaps, you read, and you fill them. Writing is a learning experience as much as it is a teaching experience.

If there is a skill or market you are interested in, start writing about it.