Story of the WeWorkRemotely Android App

Weworkremotely.com is a jobs listing site which caters to only remote jobs (where you approximately always work from home). I got to know about this website after reading (highly recommended) “Rework” from Jason Fried (founder Basecamp). If I like a website, I immediately check how they have implemented the android app in the pursuit of learning new things, but to my surprise I found they didn’t have a mobile app! So I decided to make one to find a remote job and learn a few things in the process.

This was supposed to be a very simple and easy to use app and hence deciding on the design was easy, it was a multi-pane layout. On smaller devices, the app starts with listing categorized jobs (accessible via the navigation drawer). Touching a job opens the job details page. On bigger devices, these are shown together in one screen.

The biggest roadblock in making this app was to fetch data from weworkremotely.com as they didn’t have any public API. I thought I’d write to them asking for the data, but with no big apps under my name, there was no reason for them to take me seriously. So, I decided to make a sample app by scrapping data from their website, then ask for an API and hope that they’d at least reply.

After creating a sample app, I wrote to basecamp support (weworkremotely.com doesn’t have a contact us page!) and told them that I am making this android app would love if they could provide an API or let me scrap data off their website. Guess what, they replied in less than 24hrs with this:-

Hi Sourabh!

Thanks for getting in touch! I’ll check with Jason and see what he thinks.

Chase Clemons
Basecamp Customer Support

I read it repeatedly just to believe that someone will actually tell Jason Fried about me! I am a huge fan since I read “Rework” and it was an honor. I got another email in a few days saying that they do not plan to create any APIs right now, but I can pull data from their website.

Tip– Always ask before scrapping a website, there is a good chance they’d allow if the intention is good and might also prepare them for extra traffic.

This meant, I had to put my scrapping code on a server, run a cron job to fetch data in such a way that I don’t put unnecessary load on weworkremotely.com and save that data to fetch it from the app.

This was the first time I used AWS, PHP, MySql with an android app. It was a great learning experience and gave me a basic understanding of how to make a backend support for an android app. There are still a lot of changes needed in the app which I wish to make soon. Meanwhile, hoping that the app is useful to other remote job seekers as well.

Oh and you can download the app here – https://play.google.com/store/apps/details?id=com.sourabhsoni.weworkremotely