How To Get Freelance iOS Development Projects

Written by Reinder de Vries on October 5 2018 in App Business, Careers

How To Get Freelance iOS Development Projects

Thinking about going it alone as an iOS developer? Here’s how you find clients, get freelance iOS projects, and build your business as a freelance iOS developer.

We’ll get into:

  • Kinds of clients you want to avoid at all costs
  • How to price your services as an iOS developer
  • The most important aspect of completing iOS projects
  • Two approaches you can use to find your next client

Ready? Let’s go.

  1. Getting Started As A Freelance Developer
  2. What’s Your Workflow?
  3. How To Find Freelance Clients
  4. How To Price Your Services
  5. How To Qualify Leads
  6. Further Reading

Getting Started As A Freelance Developer

As a freelance iOS developer you’re doing work-for-hire. A client hires you to provide development services, and you charge them a fee for your services.

Before we look into how you can get started, let’s take a look at a few common reasons to start freelancing.

  • You’re unhappy working for a boss, and want more freedom and independence
  • You’re unhappy with your salary and want to make more money, trading it for (sometimes) less job security
  • You want to transition into entrepreneurial work, like starting a Software-as-a-Service company, and you need cash to bridge the gap

For some freelancers the motivation to go it alone comes from unhappiness with their current job or career options. Others may want to do things differently than their boss permits. So, you take a leap and venture out on your own!

Developers, freelance or employed, are currently in high demand. Which means salaries and hourly rates are going up. As a freelancer you’ll often make more money, compared to doing the same work as an employee. You trade job security for a higher income.

Getting started as a freelance developer is simple. You’ll need a few “building blocks” in place:

  • A developer showcase, ideally online
  • A way for potential clients to reach you
  • A development pipeline and workflow
  • Strategies to find clients and get iOS projects

Your developer showcase is a collection of your work. It’s more than just a portfolio, because it also features your try-outs, experiments and personal projects. It’s a great idea to publish your portfolio online. Some of the most successful developers also keep blogs, and publish their insights.

Now that you’ve set up shop, let’s take a look at how you can provide your services.

Become a professional  iOS developer

Get started with iOS 12 and Swift 5

Sign up for our iOS development course Zero to App Store to learn iOS development with Swift 5, and start with your professional iOS career.

What’s Your Workflow?

Before you start your outreach to find clients, think about your development pipeline and workflow. This is the machine that you put project specs in, and an iOS app rolls out the other end…

Let’s assume you’ve already worked as a professional iOS developer, for a boss, or as part of a team. You’re already used to working 9-to-5, communicating with coworkers, and working with project milestones.

As a freelance developer, you’ll have to do all that on your own. You’re a one-person-shop now! How are you going to deal with the work coming in?

Here’s a few questions to think about:

  • What information do you need before you can start working on an iOS project?
  • How are you going to communicate effectively with your clients?
  • What tools, software, licenses and materials do you need to do your work?
  • Do you need advice or services from a lawyer, notary, bookkeeper, etcetera?
  • Will you delegate some of your work to other professionals, such as a graphic designer?
  • How are you going to price your services? (More on this later.)

Your answers to questions like the ones above determine your workflow. It’s what happens between the moment you get a sign-off on a project, and the moment you deliver the completed project to your client. Don’t underestimate it!

As a freelance developer you’ll most likely do the development work yourself. It’s smart to team up with a graphic designer, because you’ll be able to take on “full service” projects that include both graphic design and software development work.

In my experience, the more independently you’re able to complete a project, the higher the fees you can charge for it. A certain kind of freelancer only works hourly on a long-term project. Other freelancers are more entrepreneurial, and take on projects that require them to build a complete product or service.

How are you going to shape your services? Once you’ve figured that out, you can get to…

How To Find Freelance Clients

How do you find freelance clients? With two approaches:

  • By referral
  • With networking

A referral works like this:

  1. You do great iOS development work for one client
  2. That client meets someone who needs an iOS developer
  3. Your client refers you to the new potential client

Even though referral business is hard when you’ve just started as a freelancer, it’s listed here first because it’s so effective. When you do a great job for a client, their word-of-mouth advertising is incredibly powerful.

Let’s take a look at networking next. “Networking” is an abstract name for something very simple: getting out there and talking about your work. You meet people, find new opportunities, and help others get their work done.

You can do so in a great, great number of ways. Some ideas:

  • Pitch in on relevant conversations on social media
  • Giving workshops and talks as a public speaker
  • Doing pro bono work that gets a lot of exposure
  • Responding to job postings on online marketplaces
  • Joining a collective or network of freelancers
  • Going to an actual networking event…
  • Signing up for a business network or community
  • Calling every company CEO in your area
  • Striking up a conversation with random strangers

Networking is the oldest business strategy in the book. Back in hunter-gatherer Africa, when people didn’t have Twitter, how do you think someone learned about the services of another tribesman or tribeswoman?

Let’s focus on strategy: meetups. Here’s what you do:

  • Go to a meetup close to you. Preferrably about a tech-related topic, and something you’re interested in. You can find meetups with Meetup.com. In cities with lively startup communities, plenty of companies host meetups. It’s a way to meet new talent (you!) for them.
  • Talk to everyone at the meetup. Find out what their current goals, needs and wishes are. If you’re scared of walking up to someone, then force yourself to talk to everyone with red socks (or jeans, or a tie, or…).
  • Focus on being genuinely helpful to the other person. Don’t ask outright for a project or a job. That’s not the goal of the conversation. The goal is to discuss your work, their work, and be mindful of opportunities that arise. You’re as much a part of their network as they are a part of yours.
  • Always follow up with everyone you talk to. Ask them how they ended up resolving an issue, or remind them they promised you an introduction to an acquaintance. This means you’ll need to have access to their email address or phone number. This is where business cards come in handy. And of course, there are plenty of apps and tools you can use to make making connections easier.

This is when your network starts to grow. The more people in your network, the higher the chance for beneficial relationships and opportunities. A network is much more than a list of LinkedIn connections. It’s about the value that goes from one person in the network to another, and back.

Will you get that iOS project you were aiming for? Maybe. Maybe not. At this point you’re doing the important work of reaching out, and providing value to others. At one point, the network will reach back and provide value to you.

Can you also use your network online? Of course! The principles are the same. You’ll need to put in more effort to come across personally, because an online interaction is just different than an in-person meetup.

There’s one particular strategy that works well. It’s a funnel you can use to get clients. Here’s how:

  • Start an authority website, blog or social media channel. Write about apps, create an Instagram following, or start a Facebook group. It doesn’t matter what, as long as it attracts attention from those who are looking for app development companies. A website is particularly effectively if you create case studies out of the work you do.
  • Put a “call to action” on your website, such as a link that goes to a form. A visitor can use the form to book a 30 minute free consultation with you, through Skype or Zoom. You can also charge a small fee for a consultation, to filter out tire kickers. You can even ask for additional information in your form, like project description and budget size.
  • Do the consultation. Just like with in-person networking, follow up after the meeting. In the worst-case scenario you’ve 30 minutes of your time, in the best-case you’ve just gained a new warm lead. You’ll also learn a lot about working with clients, especially in the beginning. Optimize your lead conversion over time, and increase the quality of your funnel to minimize lost time on BS prospects.

Always ask for a reference or testimonial at the end of a project. Put them on your showcase website or in your portfolio. When you see a potential client, show the testmonials to them. LinkedIn is another great way to collect testimonials of past clients.

That’s it! Let’s look at an important topic next: pricing your services.

How To Price Your Services

It’s a topic of much debate. How do you price your services? First, let’s distinguish between 3 pricing approaches:

  • Pricing hourly
  • Pricing daily
  • Fixed-price projects

A developer-for-hire typically prices him or herself by the hour. They work one hour, they get paid one hour. Daily pricing is similar, except that you have a day-rate instead of an hourly fee.

In both cases, you typically provide your client with an estimate of how much time a project is going to take. Depending on how you set up your contract with a client, they pay you for every hour you work, or pay you a fixed-price for the completed project.

When you’re working for one client, on one or more projects, for a longer period of time, you’ll find that hourly pricing is most common. Daily pricing is more typical for shorter projects, and also more common among senior developers.

Pricing yourself daily has an advantage over pricing yourself hourly. It takes away some of the detail in your estimates. When you provide a client with an hour-by-hour estimate of a project, they’re inclined to cherry-pick hours and question you on every little detail of a project. Daily pricing gives you a bit more margin for errors, too.

What’s up with fixed-price projects? As the name implies, the price of a fixed-price project is… fixed. Unlike hourly billing, a client knows exactly what they’re going to pay. Logically, you’d only put a fixed price on a project if you know exactly what you’re going to build!

An advantage of a fixed-price project is that you can closely guard the scope of the project. When a client comes with new requirements in the middle of the project, you can tell them it’s out-of-scope and defer the decision on that feature to the end of the project. A common mistake here, of course, is allowing the scope of a project to change without adjusting its price.

There’s a fourth way of pricing projects: value-based pricing, as opposed to cost-based pricing. You determine your price based on the value of the project for the client.

Imagine you’re going to spend 100 hours for $70/hour on a project, for a total cost of $7.000. The value of the project for your client is at least $20.000. You’re building a product that’s going to make them a ton of money.

So, you charge $15.000 instead. You present your offer to your client in such a way that it emphasizes the value for them, such as the opportunities it will give them. This also forces you to think more deeply about what your project means to the client.

Value-based pricing is also a segway into providing more complete projects, instead of pay-by-the-hour development services. You can then think about questions like:

  • Does the client need ongoing support and maintenance for this project?
  • How can we help improve the project’s efficiency and effectiveness?
  • Does the project need additional integrations, features or upgrades?

And a last question you can ask yourself is: How much money do I want to make? Think back to your reason for starting freelancing in the first place. Did you want to make more money, have more independence, or more free time?

Making more money might not be your goal, but it’s an easy trap to fall into. You could end up having more responsibilities than you had in your previous job, with the pressures and stress that comes from your projects. Which is OK if that was your goal all along, of course. And that’s why it’s smart to think back to that goal every once in a while.

Let’s talk about one last topic next. Qualifying leads.

How To Qualify Leads

Not all clients are created equal. What’s the difference between that big-ticket client from heaven, and the horrible client you want to steer clear from at ALL costs?

Let’s start with some red flags. You don’t want to work with these clients:

  • Some clients try to negotiate your hourly fee down without discussing the project itself. They’re usually just shopping around, looking for a freelance developer with the lowest possible rate. Never just negotiate on price.
  • Avoid clients who insist on a fixed price, with a project that’s vague. You’ll end up with a project that doesn’t match their expectations, or worse, needing to renegotiate halfway through the project.
  • Avoid clients who “just want a quote from you”. Their projects are often unclear, while they emphasize that it “can’t cost too much.” This takes the focus away from a project that works well, and is built well.
  • Avoid clients who expect you to work for free, or for “exposure”, or for “half-price, because you’re inexperienced.” Only work under such circumstances if it’s your own deliberate business strategy, not because you got talked into it.

Try to stay away from giving a “ballpark figure.” A rough estimation sounds great, because now the client has an idea about what a project is going to cost. Rough estimates or ballpark figures have two disadvantages:

  • Even though the client always says “We don’t expect you to stick to that rough estimate”, they almost always do. Even when your give a low and a high number, i.e. “between $10k and $20k”, they always expect you to end up between those numbers.
  • It’s hard to make estimates, and yours might be too high or too low. Had you carefully considered the project and made an estimate, it would have been easier to convince the client. You’d be better prepared.

Ultimately, you’re looking for a client that …

  • … is willing to pay you for services rendered
  • … has a clear end result in mind for the project
  • … understands the way you charge for your services

When you’re negotiating a project, make sure you’re discussing it directly with the CEO, the business owner, the senior executive, or the person who’s in charge of makng the decision to hire you.

Don’t waste your time pitching to someone who can’t make the decision to hire you. Keep in mind that this might not be the person who asked you to make a proposal in the first place. And it may help you to have an end user on your side, like a company’s employees.

So… how do you price your services? Here’s a few ideas:

  • Start with a hourly fee you deem fair, based on your experience with iOS development. Increment it with $5 or $10 every time you successfully complete a project, up to a point where you encounter resistance to charging more.
  • Don’t stop at that point. Instead, switch to value-based pricing and learn to assess the value your project has for a client. If possible, calculate a fixed price based on the days (instead of hours) it takes to complete a project.
  • Look at market rates, but don’t price yourself based on them. It’s good to know what a similarly skilled developer makes. Use it as a starting point, and never tell your client that “this is what every developer charges” because then you just admit you’re the same as every other developer.
  • When you’ve maxed out your hourly rate, switch to a different strategy, like a daily rate. You can also switch your business workflow to provide more services, such as “full service”, or ongoing maintenance.

Charge like a business, not like a developer. That requires a shift in your thinking. Instead of writing code for money, you provide a valued service that you charge for. This is the biggest difference between value-based pricing and cost-based pricing.

See if you can agree on a monthly maintenance contract once your iOS project is done. With a retainer you can keep the app bug free, build small features and upgrade the app for new iOS versions. Maintain 5 apps for 8 hours each at $70 an hour, and we’re talking about $2.800 in monthly recurring revenue.

The way you price your services is a signal to your clients. You can use it to qualify leads. How? Start every project with a “discovery phase”. You charge a fixed fee, of say $700, to create:

  • A mockup of the app you’re going to build
  • A detailed, written specification of how the app works
  • A quote, detailing the price of the project

This is what you would do for a project anyway, right? Now you get paid for it, instead of making a quote for free. And at the same time you can filter out the client that’s not genuinely interested in working with you.

A discovery project is a win-win for you and the client. You get paid for making your estimate, and the client gets a deliverable they can use. It gives them a feel for how the app is going to work.

Become a professional  iOS developer

Get started with iOS 12 and Swift 5

Sign up for our iOS development course Zero to App Store to learn iOS development with Swift 5, and start with your professional iOS career.

Further Reading

So, what’s next for you?

  • Thinking about building your app showcase? Get started on your first project.
  • Need to build your professional network? Sign up for a meetup in your area.
  • Are you in the process of landing your first client? Awesome! Good luck.
  • Just finished a project? Don’t forget to ask for a recommendation.

Want to learn more? Check out these resources:

Reinder de Vries

Reinder de Vries

Reinder de Vries is a professional iOS developer. He teaches app developers how to build their own apps at LearnAppMaking.com. Since 2009 he has developed a few dozen apps for iOS, worked for global brands and lead development at several startups. When he’s not coding, he enjoys strong espresso and traveling.