How and why I built Remote Ted - Remote jobs for digital Nomads
About me
I am software developer with more than 5 years of experience
The problem I wanted to solve
When I was just starting with my career and once when I was thinking of quitting the company I was working for 3 years ago, I started looking for remote jobs. The problem was - if you wanted to find remote jobs, you couldn't find a lot of opportunities on a single website for the specific skill you posses, you had to go from website to website. I wanted to solve that problem and display jobs from as many websites as possible, so that people can find what they are looking for on one place.
What is Remote Ted - Remote jobs for digital Nomads?
Remote Ted is remote jobs aggregator. As simple as that. You can see and filter or search for jobs based on the skill or any other keyword from job title or description.
Tech stack
Technology I wanted to use is React because that library is pretty fast and it is fast to develop apps in it. It's a front-end JavaScript library and it's enough for making an MVP. Currently I don't have back-end, all my jobs are pulled right on page load and they are not stored anywhere. For the next version of the product, I am planning on making Node.js API which will store and return jobs, have user registration and job submission. I decided to build it in Node.js because I've finished a course on Udemy for Node.js with MongoDB and want to get my hands dirty with it, to exercise a bit. This way I can create my first full-stack application. Also, besides React, I am using Redux for better state management.
I don't plan on making it profitable, and I will share the code on Github, because this product will be only my coding exercise.
The process of building Remote Ted - Remote jobs for digital Nomads
Very first thing I did is I searched for public APIs that are returning remote jobs. If I found anywhere API that is returning regular jobs and have some flag for remote ones, I included that API as well. Then, I created React app with Redux and started with development.
The best way to publish a product ASAP is if you create an MPV. It's the minimal version of your product, which has the basic functionality and nothing else. For my product - it's just showing jobs. That is why I created only front-end application first. I didn't have any design, I wanted to make HTML/CSS code from scratch. It's the thing I like playing with, so I am always changing something that I don't like on the app. Currently, I have the first version live and am optimizing it and adjusting. After sending URL to a couple of people I've got some feedback and used it to fix some things they complained about. I have added Mailchimp pop-up for gathering emails, and once I have my back-end up and running, I will start sending daily or weekly emails with remote jobs to subscribers. If you want to subscribe as well, you can do it here, because I will share updates as well: Subscribe .
Next stop for me is Android and iOS applications done in React Native, for which I will use most of my code, because it's written in React. And, after that - back-end! I will write separate article for that, because it will represent application with much more functionalities then now.
Challenges I faced
Up until now the biggest challenge I faced was deploy. I didn't know where to deploy my app. I have experience with hostings where I have my static and Wordpress websites, but I've never published React app. So, I googled it and found free solution, Netlify. On Netlify, you can connect your account to Bitbucket repo and branch where you keep your code and it's dead simple. I just push my changes to my branch, go to Netlify, click on Deploy, and voila, Netlify deploys and publishes my app. I bought a domain which I connected to Netlify through DNS and that's it.
The second challenge I am facing is back-end part of the app and it's deploy, but we will write about that another time.
Key learnings
Exercise is the most important thing I am gaining from this product development.
Tips and advice
I advise every developer to create their own little projects and play with them, to gain more experience and learn new languages/frameworks. You never know when you will need that knowledge or experience in your future opportunities.
Final thoughts and next steps
Next stop: Mobile apps, back-end and new article!