2015-04-02



Almost a year a go, I set a goal to launch 12 startups in 12 months. It's been covered a lot. They’re all minimum viable products, built to test a hypothesis and see if they can get a market fit in a month. This month I launched Remote | OK, a daily listing of all remote jobs out there. It reached Product Hunt #1 and the top 15 of highest voted product of all time with 1,000+ upvotes. As usual EVERYTHING went wrong and then a few things went right. Here's how I built it and launched it and what I learnt.

Problem

I've been passionate about remote work for a while now. Ever since I started traveling long-term as an experiment 2 years ago, the obviousness of the whole thing has hit me.

I think it's up there with virtual reality in how radically it will change society.

The basics might sound superficial, people traveling around working from different places. Right? But it has bigger social, political and economic connotations. What does home really mean if your location changes every few months? What's the point of governments and nation states if nobody feels tied to one country? What does "local" community really mean if everyone's moving around? And how will people work?

I've explored lots of these questions and tried to come up with solutions. I built Nomad List to get people to realize they could move to different places, save money and get a better quality of life. I tried to solve the community problem with #nomads, a chat group for remote workers now 2,500+ members strong.

But for me, the change isn't happening fast enough. I still talk to people every few days that would love to start doing this. Work anywhere. They'd love to work remotely but they can't find the jobs that allow you too.

Solution

It's partly because major job boards aren't embracing this stuff yet. There's a few niche ones out there but the amount of jobs posted is still slim. To argue to people that there IS enough remote work out there, it'd help to get all those jobs suited to it in one place.

So...I built an aggregator. And that sounded a lot simpler then it turned out to be.

Ethics of aggregation

We all hate scraping sites. How was I going to make this actually add some value? I thought about how Google News indexes articles and then creates traffic for the sites. Without asking them, it just did it, and it added value. I wanted to do that. I can't just take people's content and profit from it. So from the base up I wanted to have an extreme amount of accreditation to the sites where I sourced from and linking back to them wherever possible. It should be valuable for them mostly. Which meant, getting them traffic back.

Building

In terms of sourcing, most job boards out there have RSS feeds, or JSON accessible APIs. That meant I had to write a little robot for each feed. I made a folder called "sources" and simply started writing a PHP script for each source.

It'd analyze the feed, see which jobs were remote, then normalize the data and then push it into a simple SQLite database (yes guys, I'm not using JSON text files as a database anymore, thank you :P).

Normalization

Easy right? Well it'd be easy if everyone wrote their feeds in the same way. But they don't. Some write it like this:

company: Acme, Inc.
position: Backend Developer
remote: yes
description: We're looking for a blalbala...

But then many write it like this:

company: Acme, Inc. is hiring a Back End Developer - Remote - San Francisco, US

But then often their feed changes up because a human takes over and writes it:

company: We're hiring! VC-backed startup Acme, Inc. is looking for a Back End Developer (can work remote) - SF US

And sometimes there's no company tag at all and you have to figure it out from the description:

position: Back End Developer
description: We, at Acme, Inc. are looking for a Back End Developer remotely.

And sometimes it's not even a remote position but it matches the word "remote":

description: We, at Acme, Inc. are looking for a Back End Developer, this position is NOT remote.

Haha, good luck with that!

So how do you solve that? Well you write loads of if statements and regular expressions to figure out what the job ad really means. That by far took the most time. Like weeks. And it still doesn't get it right always:



Great, someone is looking for a Kick Ass, or to get their ass kicked? This is going WELL.

Another thing was detecting what kind of tags to add to a job. Well, the only thing I could do really is just make a humongous list that translated keywords to certain tags:



Design

I wanted to make the design really splashy when you first get there. I thought about what remote work really means for me. And it means we're all moving around. What better way to show that, then to show our beautiful earth globe? I remembered there was a [video shot from the ISS)[http://eol.jsc.nasa.gov/ForFun/CrewEarthObservationsVideos/]. And as NASA made it, it's in public domain. I downloaded it, edited it, cropped the space station out of it and used it as the background of the first page:

On top if it I added a search bar that when not selected auto-types example jobs (yes, just like I did on Go Fucking Do It).

And to give the whole thing some credibility, I added the logos of the sources:

Then below it, I added the job list from the database, newest first and on the right a big image to credit the source of the job. If you hover over the job, the logo turns into a button and if you click it you go straight to the job at the source's site, e.g. (Authentic Jobs)[http://authenticjobs.com].

Each jobs also shows tags. These are for example the tech stack "JavaScript" or type of job "Full Time". When you click it, it shows a page with ONLY those jobs.

When I first showed people, a lot expected that when they clicked on a tag it became a filter, and that they could keep clicking more tags to add to the filter. So I changed it into that:

For Google, I made the URLs of each filtered page look like this:

/remote-reactjs+css+python-jobs

My NGINX simply routes that to a PHP file with sees the query reactjs, css and python and shows the page.

Not all job sites show salaries, but some do. So when I have enough data on salaries I showed it on the page too:

And that made me think it'd be fun to have a chart of most popular and highest paid remote jobs:

Launch

Product Hunt

In true fashion, I was late for going to a party when I submitted it to Product Hunt (on Sunday 2015-02-22 at 01:44:44.644 PST). I'm in Korea now and this was 6pm Korean time. It was early morning SF time, which is great for submitting to Product Hunt as the page refreshes at midnight SF time.

Tweet

The most important visual part of the branding was the spinning globe. But how do you tweet that? So I made an animated GIF:

Capture mails

While my friend was shouting for me to get out of the house, it hit me. The site wasn't capturing emails yet. It's a basic thing to do. If you have emails, you can contact everyone later to tell about updates, new launches. And an email list of people that want a remote job is obviously very useful.

So in about 5 minutes I added this on top of every page:

Then I left the house and went for some drinks and my friend stopped shouting :)

Hacker News

I submitted it to Hacker News around the same time as Product Hunt:

https://news.ycombinator.com/item?id=9089778

It was on the frontpage for a while, but then the HN algorithm pushed it away. The new HN algo (or moderator) is quite critical lately of product launches and they prefer to see technical articles. Maybe that's on purpose since Product Hunt is a YC-company and they'd love to have product launches there? I dont know...CONSPIRACY! :D

I tried to reply to everyone's feedback on HN too. In the end it didn't do great on HN but okay.

Reddit

Someone submitted it to the /r/digitalnomad subreddit too. There was lots of feedback, which I replied to and feature requests I implemented immediately:

It was mostly positive and it reached #1 on the subreddit which was nice:

Results

It did well on Product Hunt, holding the #1 position steadily, reaching 700+ points in the first day and in the weeks after reaching 1,000 upvotes.

The next day I saw I forgot to add Google Analytics. So I had no idea of the first day traffic. Based on my previous projects, I know the drop off from Product Hunt is about 50% in the second day. So that means I estimate being #1 on Product Hunt in March 2015 gets you about 28,000 unique visits (second day 14,179 * 2):

That means the total unique users after a month is estimated at near 100,000 (67,313 + 28,000). That's a lot of traffic.

To compare, that's about three times as much as it was when I launched Nomad List to #1. That means Product Hunt has grown 3x as big in 6 months.

They also asked me to do a collection called Products for Nomads, which helped it get more exposure:

Products for nomads and remote working: http://t.co/EiSA17sdgF curated by @levelsio pic.twitter.com/iq57kZB64u

— Product Hunt (@ProductHunt) February 17, 2015

Email signups

3,723 people signed up, that means 3.5% of users. I have no idea if that's high or low conversion. I'm sure I could increase that by adding some deceptive "GET THIS FREE EBOOK" but I HATE that stuff with a passion. It's tasteless. People should just want to sign up, I shouldn't have to trick them.

That .GIF tweet

I couldn't imagine how well tweeting that .GIF worked. That's a crazy number of retweets and favorites. And since it linked to Product Hunt that resulted in upvotes. It's really the time of visual communication. Pictures and video rule:

Yay! My new startup http://t.co/LXa46PgDiR is now live @ http://t.co/tlzXLaVBuG, it indexes all remote jobs out there pic.twitter.com/RJnhlYteHO

— levels.io (@levelsio) February 22, 2015

Press coverage

I didn't reach out to press, as it's been increasingly hard to get reporters to write anything about me. As in, it's more effective nowadays for me to just wait for them to contact me (they usually do). I think tech reporters are just overloaded with email and whatever you do, you probably won't reach them. They're out there looking for stories though.

The Next Web featured it, then Forbes followed and then Fast Company. And Life Hacker Russia. For some reason any project related to remote work or nomads I do, gets a massive response from Russia. Many of them are very smart programmers and tech workers, and many of them want to leave the country due to its political situation. Interesting...

The popular bookmarking service Pinboard recorded Remote | OK as one of the most bookmarked sites that week.

The cake is a lie

In my true #fail fashion, the daily/weekly jobs email people signed up to, it was a lie. It was just a MailChimp email submit.

Now a month later, I'm finally getting around to launching the email robot that will send everyone their emails. Making that just cost a bit of a time, here's the layout. Getting this right also took long because writing HTML for emails is a mega pain. You have to specify every style INSIDE each HTML tag, AS IF IT'S 1997 AGAIN:

Replies from job sites

Honestly, if anything should go wrong, it would be the job sites I sourced emailing me and telling me to shut it down. But the opposite happened.

Angel List's jobs head emailed me with some nice questions. Since he was asking me questions, not shuting me down, that was good news:

And WFH.io, a big remote job board actually asked to be indexed too:

@wfhio awesome guys! i need date, company, position, description and link to your page

— levels.io (@levelsio) March 2, 2015

And then many others followed. There was many job boards who made a custom feed for Remote | OK only.

So, something funny happened here. As they saw it was now a popular site, and it used their content, they were better of keeping it alive than shutting it down. Just like what happened with Google News.

Extra features

Many people asked for a Twitter feed of all jobs, so I made it, and I made it cute with emoji:

Show more