A year of Code For Cash (Month 12 report)

It’s a year ago that I launched Code For Cash, the freelance programming jobs market.  Those of you who have been following my journey since day 1 know that before we were even “Upwork for programming”, we were just an ebook… originally titled “Code For Cash”, now titled “Software Engineer’s Guide to Freelance Consulting”, and available on Amazon here.

Recap of the book launch:

  • I wrote an outline before I did anything else
  • My next step was building a landing page, unbouncepages.com/become-a-freelance-software-consultant/
  • Then I made an ad campaign targeted to Reddit and Facebook and found that I could acquire signups for $3.50 (reddit) and $7.50 (Facebook).  
  • Once I had 20 signups, I felt confidence there was enough interest in the book.  I spent nearly a month powering through the outline in order to just get the book done, and then I brought in my friend Jay El-Kaake as a coauthor to get us over the line.  


In order to promote the book, I relied heavily on Amazon Marketing Services.  I tested over 39 different types of campaigns, but ultimately a search-keywords campaign performed best.


Amazon takes 30% of my revenues.  Since the campaign is 27% ACoS, it’s immediately profitable.


Something strategic I did was to lower the Kindle price from $9.99 to $2.99.  This had a few effects:

  • People on Amazon are extremely price sensitive, especially to first time authors.  Lowering the price had an immediate effect on sales, and it turns out that this effect has been sustainable.  Even accounting for the reduced revenue per sale, since we sell more copies, our total revenue volume in greater (in math class they called it “area under the curve”)
  • With the price lower, we move more volumes; through moving more volumes, we get more reviews.  Through more reviews, we get more social proof.  This in turn leads to more sales.  It’s a virtuous cycle.
  • Finally, since we didn’t decrease the price for the paperback, the low Kindle price benefits from an anchoring effect– a phenomenon in psychological pricing literature where having something really expensive makes everything else look super affordable by comparison.   


The other impactful thing that I did to promote the book was make a list of programming podcasts and send the creators a mass email, super charming of course, where I invited myself onto the show.  This had a good hit rate, and I did about 10 podcasts this year. The Software Engineering radio podcast expects 60,000 to 200,000 listens over the lifetime, so this exposure was extremely impactful.  Of course, podcast appearances are not good for everyone.  But my voice sounds really good on recordings.  If I were more telegenic I would probably have played to my strengths and done more video, but it’s really not for me.

Ok, so some stats:

  • Amazon Kindle – Sold 2,640 copies this year.
  • Draft2Digital (They distribute to iBooks, BN.com, Nook, Scribd, etc. in exchange for 15% of royalties) – 43 copies in total
  • Direct – 130 copies

Although the book net proceeds totaled less than $10,000, it’s by far the most fun project I worked on.  I loved checking the rankings and seeing where we were – we’ve been in and out of the Top 10 (Programming category) on Amazon all year, which has been fun.  

I created a Slack channel for people who read the book and it started growing.  I realized that there was probably an opportunity to sell additional services to this community, so I hacked together some scripts (scrapers) and started selling monthly subscriptions to reports of freelance programming jobs that we found around the Internet.  This attracted some sales,  especially from people who were already thinking of building their own collection of RSS parsers cobbled together with duct tape, but who wanted a more professional and polished version.  

Note: today, there are more than 500 people in our Slack channel.


However, time revealed that there were a few issues with this business model:


  • Data quality – even after hiring human workers to add meta data to the jobs, let’s face it, data labeling is a tedious task, and it’s hard to balance finding people who will do a good job while still being affordable enough.  We do a bit of a geo arbitrage by having our data labelers be programmers from Mexico and Africa, so that brings the costs down, but there’s still the accuracy issue.
  • Lead quality – realized that the best way to control this was bringing the jobs onto our own platform.  And so, I created uTask… the Upwork for Programming.  If you go to www.utask.org you can post a freelance programming job, and then coders from around the world will bid on the opportunity, with full transparency for everyone.


Marketing Funnels

Let’s look at the economics and stats of the uTask business over the past 30 days.


Visits to homepage: 3,221
Task poster signups: 121  (3.75%)
Tasks posted: 42 (34.7%)
GMV (freelance coding sales from binding agreements signed on the platform): $3760


NOTE, if you look at our economics from the previous 30 days, it’s much improved.  


Visits: 3418
Signups: 101 (2.95%)
Gigs posted: 9 (8.91%)
GMV: $645


Why the huge improvement?  I have to say it’s because of all the usability testing sessions.  I did at least 10 usability testing sessions this month where I had people use the site and made notes about where they had issues.  If you want to learn how to do a usability sessions, read my article here.  Through systematically documenting and addressing the issues, we boosted funnel throughput (conversion rate) … tremendously.


In fact, I still have a backlog of issues to address, for the product roadmap.  But once those are shipped, it’s time to recruit more usability study participants, since this seems like a devastatingly effective tack for us.


NOTE:  Usability sessions are how I also boosted the conversion rate on codefor.cash/signup which is the developer side of the freelance programming jobs marketplace.  


This past 30 days:

1322 visits to codefor.cash/signup
227 signups (17% conversion rate)

Compare to May..

3954 visits to codefor.cash/signup
65 signups (1.64% conversion rate)

Obviously a huge improvement, and it’s completely attributable to *listening* to user feedback and making changes.

So let’s look at the economics of the biz.  

A visit to the uTask page is worth $1.16 in GMV (GMV for period / total visits for period).  We only capture 1/3rd of the GMV revenue (from non-subscribers)… subscribers pay a 0% commission to us.  So in essence, we can expect about 38¢ in commissions from a visit.  Traffic in our niche costs around 50¢ to 85¢ per visit, so although with Lifetime Value (repeat orders) we might be able to drive traffic profitably with good ROI, I would like to to tighten the funnel and fix some outstanding issues with the website before we pour gasoline on the fire.


Misc notes

  • Including my consulting business and book sales, Code For Cash grossed around $190,000 this year in total

  • I have to confess something.  In my usability studies, I started to lie.  I began saying: “I actually didn’t build the site myself, so feel free to give me honest feedback – I’m here as a buffer between you and the development team” and people started giving me actually honest feedback.  Well, I don’t know if it’s a lie.. Technically, I didn’t build the site myself.  It’s a product of a team effort.


  • If you’re a coder, sign up for Code For Cash at https://codefor.cash/signup – you get a 2 week free trial of the freelance programming job alerts, but apply to a job that’s exclusive to our platform(uTask) is always free (with a 30% commission if you get the job).   If you subscribe, the commission goes to $0.

  • If you need to hire a coder, post your task at uTask, https://utask.org

  • One of my favorite things developed on the uTask platform already is this ARKit (Augmented Reality) demo for a furniture store.  https://vimeo.com/244943019   this cost the person who posted the task $300 .. $50 for one coder to convert a furniture picture into a 3d model, and then $250 for an iOS expert to wire it up to ARKit.


Let’s have a great year.  See everyone for next month’s report.