Getting invocation count for Lambda functions

For one of our Software as a Service as a Service (SaaSaaS) clients, we built a serverless Lambda service and charged them per successful invocation.  Each time the service succeeds, we charge; therefore, we wanted to figure out how many times it was successful in order to calculate their bill.  Our service logs the text “Posting response” if the invocation was successful; if you want to get a total invocation count, in the steps below, replace “Posting response” with “END RequestId”.

 

  1. Follow these instructions to export your log data to an S3 bucket under your control: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3ExportTasksConsole.html
  2. Run this on your local commandline: aws s3 cp s3://bucket-with-the-export/exportedlogs lambda-exported-logs –recursive

  3. Run this on the local commandline to uncompress all the logs: gunzip -r lambda-exported-logs
  4. Install The Silver Searcher, a super-fast grep-like tool available on most platforms
  5. Fire up the ruby interpreter (type irb on your local commandline) and run this code:

    irb(main)> res=`ag -c "Posting response"`
    irb(main)> res.split(“\n”).map{|x|x.split(‘:’)[-1]}.map(&:to_i).inject(:+)

  6.  You’ll get your total invocation count.

How does the uTask system work?

This post explains how the Code For Cash uTask system works, both from the perspective of a developer and from the experience of a manager.

Manager

If you want to hire a developer from the Code For Cash network, you have a few options:

  1. Join the Code For Cash Slack channel, and post a requirement informally in the chat.  If you want an invitation to Slack, simply sign up for a Code For Cash account at https://codefor.cash/signup and click the link in the Sidebar to join Slack (https://i.codefor.cash/user/configure_slack).
  2. Post the requirement formally by clicking the “Manager” menu in the Code For Cash Sidebar and then the “Hiring” tab.  Within the Hiring tab, you can choose between hiring for a fixed-scope project at a fixed-price or hiring a developer at an hourly rate for ongoing work.

If you post the requirement through Code For Cash, it will be cross-posted to the Code For Cash twitter account, (https://twitter.com/codeforcashbook), it will be cross-posted to the Code For Cash Slack channel, and it will send an email notification to any Code For Cash user whose skill keywords match the keywords in the job listing.

Some managers also choose to have Code For Cash promote their job listing on social media, which is available for a flat fee of $195.  To take advantage of this offer, simply paypal $195 to zack@codefor.cash and in the transaction notes, add the link to your job listing.  We will promote it using targeted pay per click ads on Facebook, Reddit, LinkedIn and Twitter.

Once you find a candidate you like, you have the option of hiring directly, hiring via the platform (we have a built in contract system, managed by DocuSign, wherein your developer will sign a contract that includes an NDA, a non compete clause specific to your product and industry, assignment of intellectual property rights of the work product, and so forth.

You also have the option of using Code For Cash as your escrow agent, which is a way of providing peace of mind to both the developer and to you.  The burden for paying the escrow fee falls entirely on the developer.

However, you always retain the option of circumventing Code For Cash and hiring the developer directly.  It’s up to you… we’re here if you need us, but you’re equally welcome to just leverage our hiring tools for your process.

NOTE:  There are two types of uTasks.  Fixed-price projects with a crystal clear specification, and hourly engagements.

Developer

If you’re signed up for the Code For Cash network, you can bid on any Code For Cash uTask.

  • Browse the list of open uTasks at any time by navigating to https://i.codefor.cash/utasks
  • If you upload a resume or list your keywords at https://i.codefor.cash/user/gig_alerts then you can get email alerts whenever a uTask is posted that has overlap with your skills.  Sometimes developers like to disable email alerts, but you can always re-enable them at https://i.codefor.cash/user/account_settings
  • If you are hired by the manager for a task, then you have the option of working through the Code For Cash platform (letting us manage the contract and holding the money in escrow) or working directly with the manager.  The escrow fee is 30% for non-subscribers and 5% for subscribers.

    Subscriptions cost $25/monthly (or $300/year .. subscribing annually also provides you with a Udemy for Business account).  In addition to lower escrow fees, you also benefit from instant gig alerts for freelance programming jobs, discovered by our bots from elsewhere on the Internet.

 

 

What are SPF records and why do they help with email deliverability?

SPF record is an abbreviation for Sender Policy Framework record.  The SPF is a type of DNS record.  It is how you control who (what servers) is authorized to send email on behalf of your domain name.

Email is such a simple protocol that anyone can send email pretending to be from anyone – spoofing.  However, because this loophole was immediately adopted by criminals for nefarious purposes, email service providers began to automatically reject  unidentified emails.  In practice, this means a hard bounce, a soft bounce, or going into the spam folder.

Whether you’re sending email from Google Mail, Outlook, Mailchimp, Amazon Simple Email Service, or another solution entirely, having SPF records in place will improve your email delivery.

Here’s how we add SPF records for a domain:

  1. Search your email provider’s help page for the term “SPF”.  For example, here is Google’s page if you’re using hosted Google Mail
  2. Your email provider will advise you a TXT record to add to your DNS in order to authorize them to send email on behalf of your domain.  For example, “v=spf1 include:_spf.google.com ~all” is the SPF record to authorize Google.  For MailChimp, it’s “v=spf1 include:servers.mcsv.net ?all“.

    Note: If you’re using Google for Mail and then MailChimp for Marketing, you can combine the two into a single SPF record: “v=spf1 include:_spf.google.com include:servers.mcsv.net ~all”

  3. Go to your DNS provider and add the TXT record.  We recommend CloudFlare for DNS, because they provide a slew of benefits, such as https/SSL and even their Free plan is really powerful.

That’s it!  It may take a few minutes for your email service provider to confirm the SPF record but in a worst case scenario, it could take a whole day, so we recommend being proactive with setting up SPF records.

What is and isn’t possible with ARKit (Augmented Reality) currently?

Recently a prospect came to us and asked if we could build an app that would let users preview trying on engagement or wedding rings.

Unfortunately, this isn’t currently inexpensive due to the software limitations of ARKit.

The prospect, still bullish on Augmented Reality, asked us to look into creating an app to simulate wallpapers and drapery on walls.

Unfortunately, this isn’t easy yet either.  Code For Cash coder Serge “buildcode” Boinn looked into this and found this (technical explanation to follow).

“Vertical plane detection” is the technical concept here.  This has not been added to iOS (iPhone) yet, but conversations with an Apple engineer suggest that it is coming soon.  Connect with us on social media to get updates on what is possible using the cutting edge of software technology.

Our coder did add that this may be currently possible, using clever techniques with existing iOS methods, but certainly wouldn’t be cheap – not like the $300 furniture demo that we built.

“SDKs save tons of development time, but there are typically other approaches that involve a ton more work. For rings, for example, there was a video I posted that demonstrated trying on a ring while using a marker on a finger. There might be other ways… Just not a good fit for something quick.”

So: anything is possible!  But somethings may be more affordable and accessible and less risky than others.  Then again, in software development: if there’s no risk, there’s no point (i.e., no risk? no value… no reward).

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_Marketing_Services__AMS__-_Campaign.png

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

Amazon_Marketing_Services__AMS__-_Campaign

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.

Slack_-_Code_For_Cash_and_OutKast_-_A_Life_In_The_of_Benjamin_Andre__Incomplete_

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.

Takeaways

  • 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.  

 

How I conduct a usability testing study

One of the easiest ways to improve conversion rate is to do usability testing sessions.  Here’s the format.

 

  1. Post an ad on craigslist, in the Computer Gigs section.  Here is some example text you can use:

    Need_entrepreneurs_for_website_usability_study_-_computer_gigs.png

  2. Use a tool like http://www.calendly.com to schedule participants.
  3. When people arrive, greet them.  Tell them “We’re going to be doing a usability study today to discover issues with our website.  I’m going to show you our website and then I’m going to ask you to do a few tasks.  Don’t worry if it’s difficult – we’re testing the website, not you.  In fact, this is probably the one place today where you don’t have to worry about making any mistakes.”
  4. Warm people up by asking them about their background.  What do they do for work.  Where do they spend time on the Internet.  These are easy questions to warm them up and get them talking.
  5. Open your website in an incognito browser tab.  Ask them: “What is this site?  What can you do here?  Who and what is it for?”  If people have questions, tell them politely that you can’t share any information, because you’re interested in their raw responses.   Ask them to narrate their inner monologue as they browse the site…
  6. Then, have people do the most important key actions to your user experience.  For example: creating an account.  Posting a task.  etc….
  7. Once they’re done, thank them and pay them.

 

It’s that simple.  You should write down their feedback and problem areas as you go.  By the end of each session you should have a few pages of notes.  If you consistently changes to address your challenges, your user experience will gradually improve and your conversion rates will climb.

Code For Cash – Month 10 revenue report

Last month, things were bad at our little company that matches programmers to freelance software jobs.  

 

Revenue was down.  

 

“If you’re not growing, you’re dying.”  

 

We were dying.

 

Last month, I threw down some modest goals, and said that if I achieved them, I would consider the next month a success.  

 

I didn’t want to reach too big – I wanted to keep things doable.  Sometimes, you really need a win, even if it’s a small one.

 

My goals:

    • Add 12 new markets to our regular search.

      Done!  adzuna, beincrypto, betalist, careerbuilder, careerjet, cybercoders, goremote, indeed, jobisjob, randstad, reed, rubyjobs.co.uk, simplyhired.   

      We’re now up to 45 software development markets total that we automatically monitor for our customers.

      2015-07-15-Moat.jpg
      Get it?  We’re gradually building a moat. The big picture value here is that although Code For Cash is a tool that a lot of programmers have already built for themselves, for example using a mashup of RSS feeds and some personal scripting, we’re making the product better and better so that “buy” clearly outweighs “build” in a “build or buy” analysis.  

    • Ship a better job matching engine.

      Done!
      https://gist.github.com/zackster/24f04d1e18754694cd13457f81db7f2b

      The next cool thing to do will be to expose our intelligence through our product… for example, if you type “vue.js” as a keyword, we’ll let you know that we’re also searching javascript/java script/js/vue.

    • Be able to click a button and initiate intelligent outreach to a job lead.

      We now have a system where you can write blurbs about your experience using a given technology, dynamically generate cover letters, tweak them as necessary, and send to job postings.

 

We achieved those goals.  Sometimes setting modest and achievable goals can be a growth hack that propels me into greater productivity.  The wins compound into momentum.


So, how did that momentum manifest?

We totally changed up the funnel: the two week free trial no longer requires a credit card – users may sign up with an email and nothing less.

 

This had a huge effect on conversions – 

 

Previously, we required paying upfront (no free trial).  The page converted at 0.1%.

 

Then, we asked for a credit card up front, but promised not to charge unless they canceled before two weeks.  That boosted conversion rate to 0.2%.  

 

But now, having a no credit card required, 100% free two week trial has boosted our funnel an additional 50%– conversion on the page, from unique visit to paying customer, is now at 0.30%!  

 

(We also cleaned up the design on the landing page, which may have had some impact).

 

If you’re curious at checking out how I measure my funnel, I do it in Excel.  Measuring how prospects progress through the stages helps me get an intuitive feel of what’s going on.

 

https://docs.google.com/spreadsheets/d/1hx6LNfJ6PKT4Qh7iJsBNKsBR09DFP43XdnYU4BpXe6c/edit?usp=sharing

 

Anyway, insofar as revenue goes, things are moving in the right direction.  Slowly.

 

Revenue for month 10


Recurring revenue: $3,400.00

Total Revenue, including consulting revenue: $10,580

Compared to last month (Total revenue: $9,705.43; Recurring revenue: $2,919.0), we see 16% M/M growth in MRR, okay!

Online_Chart_Maker___amCharts

If you’re interested in how I make the non-recurring revenue, it’s through consulting.  If you know how to program on your own without supervision, you’re capable of doing that too.  Jay El-Kaake, Richard Burt and I coauthored Software Engineer’s Guide to Freelance Consulting.  We sold about 337 copies this month.

 

I may never have a #1 rap album, but Software Engineer’s Guide to Freelance Consulting is currently #11 in Kindle Store > Kindle eBooks > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development.

 

Anyway, for me, this 16% jump in MRR begs the question, is this MRR growth sustainable and repeatable?  If we were to grow next month at this rate, at the end of next month we’d have $3944 or an extra $540 in revenue.   That would require signing up an additional 12 paying subscribers..on average of one every other day.  Two days from now, it should be clear whether we’re on track or not.

 

Taking a look at the marketing funnel spreadsheet (https://docs.google.com/spreadsheets/d/1hx6LNfJ6PKT4Qh7iJsBNKsBR09DFP43XdnYU4BpXe6c/edit?usp=sharing), you’ll see that 0.3% of visits end up converting.  So in order to attract 12 subscribers, I would need 12/0.003 = 4,000 unique visits to the landing page.  Honestly this is completely unlikely; 2000 organic visits in a month is typical.  With this, my expectation would be 8% monthly growth…

In the marketing funnel, I have a whole list of improvement ideas for various parts of the funnel, but I’d also love to hear your impressions or ideas.  The cool thing is that there are clear ideas for improving conversion rates at each segment in the funnel, and it’s really intuitive how to do that – the only challenge with this approach is that we could potentially end up at a local maxima, but I’m trying to force myself to believe that because I’m exhausted from the endless grind of finding and removing bottlenecks.  We need to continue moving forward.

Improving the business engine

 

One of our biggest expenses is data labeling.  If I wanted to sell Code For Cash (or shares in it), I would have to think realistically about valuation – Code For Cash is not a “hot” company at present and would not enjoy a 100X MRR valuation.  Instead, 36 times monthly profit is more likely, given its size and growth rate.  

According to this interview with FE international, small SaaS companies (under $80K MRR) sell for 3 to 6 times Seller Discretionary Income.  So Code For Cash would conservatively be worth 36 * monthly discretionary income.

So, 3400*36 = $122,000 … but that assumes we take home 100% of revenue each month.

We don’t take home 100% of revenue.  

The biggest non-essential cost is data labeling, probably $2000 per month.  That leaves us at $2200.  And $130/month for Heroku, $60/month for AWS, $80/month for DigitalOcean, we’re down to $1930.  Then a few marketing services and other SaaS products brings us down to about $1800 (which I’m currently investing into improving the platform, so I don’t actually see that money, but for the purposes of our analysis, it might as well be there).  

So $1800 * 36 = $64,800

But what if we could use machine learning to decrease data labeling costs to $1000?

$2800 * 36 = $100,800

Gotta love technology!

So, my initial approach to this involved finding a SaaS text classification solution.  I investigated various options: Aylien, MonkeyLearn.  Unfortunately, neither met our needs in effectively reducing our labeling costs.  But I did find a solution from Facebook called fastText (https://github.com/facebookresearch/fastText) with a simple API and an easy getting started guide.

So I decided to go through the Code For Cash data, prepare it for fastText, and then bundle it up as a serverless AWS Lambda program

The business value question is how many tasks per month will this reduce?  Well, we still have some measurement to do in so far as accuracy before we fully deploy a machine learning solution to production.  Going to start from scratch, re-train the model on the first 80% of the data set, and test on the last 20%..  So check in next month for an update on that.

Financing growth

I’ve been taking a class called Venture Deals – https://www.kauffmanfellows.org/online-course-venture-deals/

It’s been helpful.  Our first assignment involved finding VCs to pitch, and I started thinking about that it in a totally new way.  I made a list of VCs that have funded NYC-based developer tools SaaS companies in seed stage deals.  Extremely specific targeting.  I’m working my network in order to get introduced to these targets.  

In the process of raising money, I put together this presentation – https://docs.google.com/presentation/d/1v_foBnUA-9lNjsh44WHORpojMUYhbXOuJ1fl8Q2nN40/edit?usp=sharing – it’s a work in progress.  It would probably be much improved through a round of iteration from our designer.  And telling a more compelling narrative about how we will capture a valuable market…  feedback definitely welcome.

$250,000 would be a good amount to raise.  Why $250,000?  It’s really arbitrary.  I picked an amount that we could deploy safely, using proven channels, that would definitely improve our business.

Marketing:

$200/month Instagram

$1600/month Blog/Articles

$2000/month Ads

Total: $3800/month

Engineering:

$2000/month Design

$2000/month Job leads improvements

$2000/month Platform improvements

Total: $6000/month

Operations:

$3000/month

Total: $12,800 – so $250,000 would provide us with about 18 months of runway.  


Of course, I have to also assume that VCs aren’t just playing mind games with me through their total failure to level with me, and they actually aren’t interested in funding us – in fairness, the company is “rationally” worth what, $64,000 at this point?  And hope is not a strategy – so therefore need a backup plan.

One tractable approach involves a company called Lighter Capital that offers revenue-based funding.  They will fund you up to ⅓ of your ARR (annually recurring revenue).  And more importantly, they work with business entities rather than requiring you to personally guarantee the loan.  However, they don’t work with companies doing less than $15,000 monthly.  So, I would need a plan to bridge up to $15,000 – how could I do that in the least expensive way possible?

We need about $11,600 in additional MRR, about 260 new developer subscriptions.  While we could potentially sprint there through marketing spend (limiting ourselves at 41¢ CPC, ⅓ of projected LTV), I feel like to do so would be unwise.  At this time, there are clear improvements that could be made to the marketing/onboarding/activation funnel:

(This is a transparent look into how I manage my tasks.  The time estimates factor in the high switching cost to wearing multiple hats and also help me decide where would be best for me to delegate.  Every time I review, I decide: “do it now”, “delegate”, “don’t do this”, “do it later”).

 

ONBOARDING

4h Bugfix CV edge cases – .doc files and .pdf documents
2h Strip non-essential fields from onboarding flow (is this essential to this person finding work?)
2h Cache Prospect data to prepopulate keywords in new User Profiles.
1h Can we skip onboarding entirely if they have prospect keywords array? Think about this.

DESIGN

0.5h Ask designer to redesign Prospect (job leads count widget) experience
4h Speedup prospect search through Algolia implementation:
– Script to remove records from indexes if created_at > 1.month.ago
– Algolia block in ActiveRecord model for GigOpportunityMetum
– Frontend (SalesController) calls out to Algolia instead of iterating through
16h Design onboarding tour

User should move directly from onboarding into tour

“Here’s our Slack channel.  90% of freelance jobs travel through relationships and word of mouth.  Chatting in Slack is actually professional networking.  And, lots of gigs trade in Slack.”

“Here are internal requisitions: companies that have came to Code For Cash and asked to hire a freelance designer.  We’re still building this system, so if you have questions, feel free to ask.”

“Here are gigs for you that we found for you on the ‘net.  You can use Code For Cash to apply to them with smart templates”. -> TOUR for this

“Click “apply via CFC”

“Annotate your keywords so you can pre-populate these outreach emails”

“Send your message”

8h Improve job system UI/UX – new design is ready.  Currently waiting on CSS changes. Preview:


 

EMAIL

6h Join us in Slack reminder email (“90% of freelance jobs still trade through word-of-mouth networking”) to people who haven’t.
5 days after signup, -> email scheduled after account created
Send actual email if user hasn’t set Slack id.
2h Job system education email to people who haven’t used -> encourage users to make annotations of above-market ability
3 days after signup, -> annotation tour email
unless GigOpportunities.any?(ignored || applied)

OPERATIONS

16h Add 15 additional crawlers to find more jobs
20h Use machine learning models to reduce human task labeling costs.  If the machine learning models for time commitment, onsite/remote, or employment type are 95%+ confident, label immediately.  If data from all 3, skip human labeling.
4h Add “Email me about new gig opportunities: Never, Instantly, Daily Batch”
Email should contain deep link to Apply via CFC
1h Add Confirmation popup to Cancel subscription link.

MARKETING

24h More entrepreneur/manager marketing to source more original gigs

– SEO links:

Early-stage VC firms
Angel investors
Incubators
Hedge funds
1h Screenshot of microtask action (Slack channel) on homepage, superimposed in laptop
12h Introduce “Concierge” level service
– Account Settings page should toggle between:
Level of service (with explanation of different benefits)
Redesign signup page

MISC

*Remove “Preview” from cfc_outreach view*
Add hover notice to keywords to show off our intelligence (e.g. User types “rails” -> We say “we’re also searching ruby and ror”)

 

Anyway, once all of this is executed (and that’s my plan of what to get done this month!), then it could be time to revisit investing personal capital in buying traffic.  Or, perhaps, Venture Capital.

For now, we don’t need it.

This todo list is emblematic of a long term vision of Code For Cash.  In a perfect world, I could copy/paste it into our service.  Suddenly, I would receive competitive bids for each feature change.  And a developer could hop on, do the work, and get paid in cash.. right away.

I’d like to see that.  Would you?

 

Zack Burt