Day #5: How I built an MVP website for Remote Jobs in 3 days?

David, @journeypreneur
6 min readNov 10, 2022

--

In the previous posts, (Day #3 and Day #4) I mentioned that I had to rebuild the webapp Remote-Work.app because previously I had the landing page built with Wix and the webapp in Flutter. But, since my Wix subscription was about to end (and I’m not looking to renew it), I had to accelerate the development of the new Webapp developed in React.

Remote-Work.app Logo

So, to start, you can already check what is the final result of the new Webapp at https://Remote-Work.app. I know, it’s kind of a minimalist website and the design is not the greatest (I’m not a designer). But usable and it’s already online, that was my main goal for this week.

How did I start it?

First things first, and as I always asked my teams that I worked for, let’s define a scope, let’s define an MVP, what is the minimum that we can deliver that started to bring some value?

So, I had a need, which was to develop something minimal to display the job offers on my website, replacing the landing page built with Wix. So, let’s define the minimum features to deliver that value:

  • Define the tech stack;
  • Landing page with the whole list of jobs;
  • Some ways to filter the available jobs;
  • Open the details of a job to apply for that position;
  • Form to post a new featured Remote Job offer;
  • SEO;
  • Allow the user to open his user account to get the recommended job offers;
  • Link to download our mobile apps (for Android and iOS);

For the tech stack I’m basically using:

  • Reactjs;
  • Nextjs;
  • Tailwindcss;
  • React-bootstrap;
  • Vercel to host the webapp;
  • For the backend, I was already using Firebase;

So, for the landing page, I decided to create a minimalist list of job offers with an infinite scroll. Here is the result:

Landing page of Remote-work.app

It’s similar to what I already have on the Flutter web version (https://web.remote-work.app). But with some new improvements and a bit cleaner.

Then, to allow the user to filter the list of job offers, I added a simple input field, that the only thing that will do is search on the whole list of jobs if it has some skill or in the position title included the search query written by the user. It’s not the most effective way of searching, but it works, and for an MVP it’s what matters.

On the job details page, I tried to implement something simple and easy to adapt for Mobile devices (to avoid more effort to handle responsiveness). So, basically, I put all the components vertically and let them adapt automatically for different devices. Again, maybe it’s not the fanciest UI, but it’s working for the MVP.

Remote-Work.app remote job details

Form to post a job offer

The business model of this webapp is by charging a fee for companies that want to publish and promote their remote job offers. For now, I’m charging $20 for each job post. I didn’t want to fully automatize this mechanism, because I don’t have so many customers, so my main goal on this requirement was to have a solution that lets my customers publish the job offer, easily pay for the request, and then I will take care of adding those details on our Database (so, for now, it’s not. fully automatized). To accomplish this, I found Jotform.com, a Saas platform that offers exactly what I needed for these reasons:

  • Have a free version 🤑;
  • Many customizations on the form layout;
  • Allows to embed the form directly on the website;
  • It’s really easy to use;
  • Have an integration with Stripe to execute payments (on the free version have 10 free payments per month, which is enough for now);
  • Also, if I want to automatize the insertion of a remote job (if suddenly I start to receive many requests), I just have to integrate with their API: https://api.jotform.com/docs/ which seems to be really easy to use;

And that’s it, I have now a form to post remote jobs from our customers and a payment mechanism. Check out the final result here: https://www.remote-work.app/post-a-remote-job (and if you have a remote job offer that you would like to share, feel free to use this form 😄).

What I did for the SEO?

The SEO was one of the last things I worked on for the MVP. Here is the list of things I did to improve my SEO and to try to increase the organic traffic:

  • Generate a static page every time I could (this accelerates a lot the loading of a page). Nextjs is fantastic in this issue, basically, I use getStaticProps() in the pages I believe that I do not care they will update quite often. This has a few advantages, not only in terms of SEO but also, in this way I reduce a lot of the reading requests every time a user opens our Webapp (because in this case, they will just get a static page);
  • For the job offers, I generated static pages for the 100 most recent job offers (since they are the most probable pages to be opened by our users);
  • Then, I generated some footer links. Some navigation links, but also, links to search jobs for a specific skill. Those skills were defined based on their popularity. In this way, we generate more content to be indexed by Google, and the user can easily search for jobs for a specific skill, like this one for instance: https://www.remote-work.app/search-job/remote-jobs-web
  • For the head metadata, I generated them based on the details of each job offer and skills;
  • Last, but not least, I included the PWA mechanism for this website, so it will increase the rank of SEO when the user search from a Mobile device;

That’s it, the MVP of Remote-Work.app

So, I started this project last Monday (7th of November), and today morning I finished some details on the SEO. There are many things required for this app, but again, my goal was to get rid of the Wix subscription and get an improved webapp compared to the Flutter version, and that goal was achieved. Now, it’s time to understand what should come next, but still in the same way: Focus on delivering something small but valuable for our users, instead of big changes but then I will just release them in a few months.

What comes next for Remote-Work.app?

I still have some features that depend on the Flutter web version, which are, user authentication, push notification, user profile management, and community page (to allow users to create posts and share some ideas).

So, my next goal will be:

  • Integrate user authentication on React Webapp;
  • Add the community page;
  • Show the recommended jobs for the user;
  • Directory of remote companies;
  • Improve the job offers content (I will develop a new mechanism to aggregate more remote job offers);

And that will be version 2.0 of Remote-Work.app, and with that version finalized, I will shut down definitely the Flutter web version (and just keep the mobile apps).

Here is my journey of these last 3 days, I’m really proud of the results. Today, I will just focus on defining the requirements for the next version and stop a bit of coding for today.

What are your tips for building an MVP? Did I miss something that you usually do? Also, if you are a designer, feel free to give me some feedback, I will definitely take it into account for the next version (as I said, I’m not a designer).

I hope you enjoyed this article, if you did, please press the claps button and follow me to keep receiving updates of my journey to become a Solopreneur.

Cheers, David, @journeypreneur

Follow me on: Twitter, Substack, IndieHackers and Medium

--

--