Freelance Diaries #3

It has been almost 3 months since my last freelance diary entry 😮. Here is a quick run through of how everything has been going...

Asking For Advice

Around the beginning of February I was feeling a bit deflated and started to have some doubts:

  • Is there something wrong with my portfolio?
  • Is my price too high/low?
  • Are my introduction emails terrible?
  • Why do all recruiters want me to work on site? Maybe remote isn’t going to work?

I knew getting my first client was going to be hard, but I was really hoping to have my first one by the start of February.

I decided to email a few UK based iOS freelancers and basically ask them for some advice on getting work. I have to say, the responses were awesome. They settled my doubts and also said that they would forward me any projects they couldn’t take on!

Side Projects


February 15th

I started my first project on February 15th. It was only a small 5 day project but it was a good start and helped extend my runway by about a month.

- Project Source: Referral


February 28th

This was when things felt like they really started coming together. I was contacted by an awesome studio based in Northern Ireland who wanted ongoing help with various projects. This really helped in giving me a solid, predictable foundation for the future.

- Project Source: Direct


March 24th

Towards the end of March I started my first “built from scratch” project. These are the kind of projects I love to work on. I’m looking forward to sharing this soon.

- Project Source: Referral (from one of the freelancers mentioned above, thanks!)
- Estimated time: 3 weeks


April 10th

A small MVP project.

- Project Source: Authentic Jobs


My target turnover for the year is £60,000, meaning I need to hit a minimum of £5,000 a month. So far my turnover is £11,654 meaning I’m currently short by £8,346. Since I didn’t have a client from the start, this was always going to be the case so I shouldn’t be too hard on myself.


The iOS Simulator Scroller


Just over a week ago I decided to play around with Accessibility on macOS. I've always wanted the iOS Simulator to scroll when I scrolled with my mouse so figured this would be a good project to get started on.

Later on that day I had this:

A few people asked for me to release it and I figured why not? Would also give me a chance to try out Paddle which we have been thinking of using for Quids

You can try out the iOS Simulator Scroller by visiting here.

Podcasts I Listen To

I listen to a lot of Podcasts. I actually listen to them to help me fall asleep, I am not sure why, but I can't fall asleep when everything is quiet.

A lot of people (and by a lot, I mean like 4) have asked me what Podcasts I listen to, so I thought I'd list them here:


Hello Internet

Presented by CGP Grey and Dr. Brady Haran.


Accidental Tech Podcast

A tech podcast we accidentally created while trying to do a car show. Featuring Marco ArmentCasey Liss, and John Siracusa.


Supertop Podcast

Behind the scenes at Supertop as Pádraig and Oisín reflect on their work as indie developers.


Back to Work

Back to Work is an award winning talk show with Merlin Mann and Dan Benjamin discussing productivity, communication, work, barriers, constraints, tools, and more. Hosted by Merlin Mann and Dan Benjamin.


The Checked Shirt

Jason and Ben talk about freelancing, apps, and tech news with a healthy skew towards Apple.


Core Intuition

A podcast about indie software development for the Mac, iOS and other Apple technologies.



CGP Grey and Myke Hurley are both independent content creators. Each episode, they discuss the methods and tools they employ to be productive and creative.



Debug is a conversational interview show about developing software and services, primarily for iPhone, iPad, Mac, and gaming. Hosted by Guy English and Rene Ritchie, it's all the great talk you get at the bar after the conference, wrapped up in convenient podcast form. Pull up a chair, hit play, join us.


Developer Tea

A podcast for developers designed to fit inside your tea break.


Fatal Error

Fatal Error is a podcast about iOS development, hosted by  Soroush Khanlou and Chris Dzombak. We discuss topics at the cutting edge of iOS software architecture, Swift, and best practices.


The Pen Addict

The Pen Addict is a weekly fix for all things stationery. Pens, pencils, paper, ink – you name it, and Brad Dowdy and Myke Hurley are into it. Join as they geek out over the analog tools they love so dearly.


Reconcilable Differences

John Siracusa and Merlin Mann try to figure out exactly how they got this way.


Release Notes

Release Notes is a weekly podcast about the business of Mac and iOS indie software development. We discuss inspiration, design, trends, and tools — everything but the code.

Each week, we cover topics for the new or curious independent developer looking to make his or her way in the iOS and Mac ecosystem. Tips and tricks, success stories as well as failures. The show is hosted by Charles Perry, owner of Metakite Software, and Joe Cieplinski, Creative Director of Bombing Brain Interactive.


Startups For the Rest of Us

Welcome to Startups for the Rest of Us, the podcast that helps developers, designers and entrepreneurs be awesome at launching software products. Whether you’ve built your first product or are just thinking about it.


The Talk Show

The director’s commentary track for Daring Fireball.


Under the Radar

From development and design to marketing and support, Under the Radar is all about independent app development. It's never longer than 30 minutes.


Ask a Freelancer

A podcast series where experienced freelancers answer questions about freelancing.


GmETER - Easily Submit Your Meter Readings to GnERGY

I recently moved to a new utility provider called GnERGY. The website is actually pretty good, compared to most utility suppliers, but unlike my previous supplier, they don't have an app to submit meter readings.

So last Wednesday evening I decided to throw something together. I made a really simple app that lets you submit your gas and/or electricity readings and view your previous submissions.

My meters are both in dark cupboards, so there is the useful feature of being able to turn the torch on and the screen is also darkened to help with visibility. Similar to my Pact Coffee App, the backend uses Capybara to crawl, click links and submit forms on the GnERGY website. 

Download from the App Store.

Freelance Diaries #2 - Prospective Clients

Today marks three week since I started freelancing. It's crazy how fast it's gone by. These last three weeks have been all about one thing; sales!

If there's one thing I've learnt, it's to never stop selling. You might think a project is in the bag, but until the deposit has been paid it is not guaranteed (even then you never truly know). Already have a two month project? Then you should be aiming to book a project for after.


  • Number of deals: 15
  • Deals lost: 5
  • Proposals written: 4
  • Estimated value of all proposals: £71,500 - £91,500

Organising Deals

To help me keep track of all my deals I am using a website called Pipedrive. This is what my Pipedrive dashboard looks like:

Pipedrive uses a similar layout to a Kanban board. You can add, remove or change any of the columns to suit your needs and add or move cards ("deals") around the board. It also has a load of other features like: bcc'n emails and "activities", but I like to just keep it simple.

Contact Made

Once there has been two way communication between the prospective client and I, I will add a deal to the Contact Made column. During this time we would have spoken about the project so that I can get an understanding of the main concept. It is also very important to check that they are aware of costs, time and my payment terms. If app development is new to the client I usually highlight a small and large portfolio piece of mine and explain how long they roughly took to complete.

Proposal In Progress

I've uploaded my proposal template on Github for anyone to use. It's pretty straight forward. I start off with describing the audience of the project. Working on Togethera taught me that building for your audience is crucial. Then I move onto an overview of the app; this is basically a user story of the main flow of the app.

Next it's the technical overview. If I'm also building the web API I will layout some rough model designs. These are not final but it's a very useful exercise to get an overview of how to organise the data. For the app I write a overview of all the potential screens. If there are already designs, then I put an image of each screen into the proposal and give an overview of it's functionality. Throughout the proposal I also highlight any questions, recommendations or ideas that I have.

Depending on the size of the app there could be a couple of "main features". These are the focus of the app. Is it a weather app? Then viewing the weather forecast is the "main feature". For the main features, I just go into more depth.

If the screens haven't been designed yet then I'll use POP to put together a mockup. I write about doing this in a previous post.

The majority of projects will use third party services. Whether that's S3 for file storage or Intercom for customer support, I write them all down. Sometimes they won't have their own SDK's so I might need to write a small (or maybe large!) library for the API.

Below this I highlight any unknowns that I have. Having too many unknowns makes it hard to give a semi-accurate estimate.

Last but not least, is the estimate. This will either be a single value or a range.

Proposal Made

Once the proposal has been sent, I'll move the deal into the Proposal Made column. From here it will either go two ways: they reply and the deal is moved into Negotiations Started or I don't hear anything back...

Don't panic, it's cool, they don't hate you.

So far, pretty much every time the client has been refining or rethinking the idea, trimming down on some feature or just awaiting input from their colleagues. After about a week I usually send a follow up email to check if they had a chance to look at the proposal and if they have any questions.

Prototyping With POP

There are lots of prototyping tools out there, though I find that a lot of them are focussed on designers. Their focus being that you have a Sketch mockup and want to turn it into something that looks and responds as much as possible like a real app. What I wanted was a prototyping tool that was aimed at the "before design" phase.

I then found POP. In short, POP lets you take photos of your hand drawn mockups, add tap areas and link them all together. 

Here's an example of an app I'm currently working on:

iPhone Stencil

To make drawing the sketches quicker and to give me a rough screensize guideline, I had a iPhone 7 sized stencil designed and 3D printed!

It's not 100% perfect yet but I think with a few more design tweaks I think it will be awesome. I'd love to have them in metal too.


Pact Coffee ASAP Button

I'm a long time subscriber to Pact Coffee (referral link), it's awesome and very reasonably priced.

It has a great feature where you estimate the number of coffees you drink per week so that they can send you your next bag just in time before your previous bag runs out.

Though, some weeks can be tougher than others and you suddenly find yourself quickly running out! 😵

No problem, you can just login to their website and click a button that says "Ship today", but by the time you have made you coffee, ate a biscuit, read an email and got back to your desk, you forget 😰 At least, this is what happens to me.

This week has been all about writing proposals, so I thought I'd take a break and write a simple one button iOS app that would change my order to "Ship today".

Pact do not have an API so I figured I'd have to just scrape their site. I threw together a small Rails app that would act as the API for the client. At first, I tried to use Mechanize though I then realised the Pact site is written in React (at least I think). Mechanize doesn't work with Javascript. To get around this I ended up using Capybara and PhantomJS. I built two endpoints: "auth" and "ship today".

The iOS app is super simple. It just implements the two API endpoints, stores the email and password in the keychain and I threw 1Password in there because every app should have 1Password integration.

Since I've built this hacked together API, it would be great to connect some sort of IOT button to it.