Wrked case study – freelancer marketplace – Upwork

Wrked Platform – (Similar to Upwork)

A freelance marketplace platform where service providers hire freelancers for remote jobs. This platforms provide a safe and convenient way for service providers to hire freelancers for impermanent job roles and projects. The Wrked marketplace bridges the gap between – service providers looking to hire talent and freelancers looking for job opportunities.

Find global freelancers, jobs and b2b reviews at Wrked, The world’s rising digital workplace platform where savvy businesses and professional freelancers team up to find work and get it done!

Functionality of Wrked

Both clients and freelancers can register themselves on the platform as private people or entrepreneurs – in each case, the workflow will be a bit different.

The employers can create online teams of freelancers right on the platform – Wrked provides all the necessary software for doing this.

At this time, the platform allows employers to see the process of freelancers’ work when they are in the paid-time mode. Management of workflow and payments is also handled via the company’s tools.

Further on, we will consider the functionality of each side of the platform – client, freelancers, companies and jobs.


The freelancer’s side

  • Homepage

On the homepage, the visitor is offered a search form and the basic types of work that can be done. There is an option to create a new account or log in to an existing one. Also, the visitor may go to the knowledge base in order to find out more about wrked functionality.

  • Sign-up

In order to register as a freelancer, you need to provide your email address and username. On this page, you will be asked to agree with the terms of service and customize your notification preferences.

  • Verification

Upon completing the registration, you will receive a verification email. Click the link to confirm your account

  • Profile

In order to continue the work, fill in your profile (add photo, job, description, skills, set your hourly rate, etc.). It will take some time for your profile to be approved, and then you will be able to apply for jobs.

When the profile is approved, the freelancer may apply for jobs.


The client’s side

  • Sign up

If you wish to sign up, you will be asked to enter your email address and choose the type of profile – employer or freelancer. Right there, you may customize your notification preferences.

Then, you will be asked to provide additional information about yourself or your company. To do this, Wrked will give you a small questionnaire to fill out.

  • Post a job

Upon completing the simple registration process, you can already post your project by providing the necessary information: title, description, budget, etc.

If necessary, you may attach a file for the project description (5 files up to 100 MB).

Then, you may provide additional information about your project. Here you can also ask the freelancers to provide you with a CV or a cover letter.

For the system to offer you the most relevant freelancers, provide additional requirements for their expertise.

You may restrict the visibility of the projects to a particular group of users. Here you also may specify if you need just one worker or several.

This page is designed to handle the financial details of the project. Here you may select the pricing model, the expertise level of a freelancer, the approximate time of cooperation, etc.

The last stage is to look through your project once again and check that you have entered everything correctly. Once it is done, you may publish the job or save it for later.


Enterprise side

The registration process for a company is almost as simple as for individuals. In this form, select the necessary variant and answer the additional questions.

Then you will be asked to provide additional information: the company’s name, business phone number, etc.

To facilitate the registration process for the representative of a company, it is possible to invite all its employees in bulk mode: just enter the necessary information, write the message, and the work is done.


Upon completing this stage, you will be taken to a form for posting a project, which we have already considered.


Monetization of the marketplace

The platform is free – the employers can post an unlimited number of projects and the freelancers can send an unlimited number of applications.

Wrked takes its fee when the client pays for the freelancer’s work. If a freelancer earned less than $500, a 20% fee is charged. The more money the worker earns, the less percentage fee they pay – the platform takes 10% of revenues from $500 to $10,000, and 5% from revenues of $10,000 and above. The payments can be handled via Wrked only.


Building a website like Wrked

(Similar to Upwork)

If you want to make a freelance platform like Wrked, you should define the aim of your business.

Do you need a small platform with basic functionality or you do have some ideas you want to implement in the project?

Depending on your answers, different methods of development may be suitable for you. Let’s take a closer look at them.


Wrked is a platform similar to upwork. lets take a look at how to create a website like Upwork from scratch

But should you create your marketplace from scratch or some ready-made solution would be enough?

Constructing a fully featured web application requires the coordinated work of a development team consisting of backend and frontend developers, designers, QA engineers, and a project manager. We have covered the main aspects of the development of the backend part of your future freelance marketplace below.


Backend architecture

How many types of users will your platform have? Which functionality will have different types of users? How will the server-side part work? These and other important questions should be answered at the stage of designing the architecture of the application. This is the most important part of construction, which will define the whole process of development and the work of your app.

API development and integration

An API is a programming interface for developers to interact with a program. Writing custom software implementations requires a lot of information, and integrating a third-party API allows developers to get the data they need in a convenient JSON or XML format. This will also help to introduce useful third-party tools, like Stripe for payments or Twilio for notifications.

Database development

In order to securely store the information about all your clients (including confidential information) and process the numerous requests from the users, the app needs a powerful database management system. Generally, we apply the combination of Ruby on Rails with PostgreSQL for this purpose.

QA & Testing

To ensure the perfect performance of the application, the product should be tested during all stages of development (not only before the production!). Using famous testing tools like Capybara, RSpec, and Selenium, we automate and speed up the testing process, shich helps us to deliver bug-free products.


Having finished the development, it is time to deploy the application in the necessary environment. The deployment process also includes upgrading the product in order to make it compatible with the new systems and their versions.


After finishing the work and releasing the product, the development process is still not finished. To make it work properly, constantly upgrade it, and add new functionality, we provide maintenance services even after the actual development is finished.



Technology stack

  • Server-side: Nodejs, Mongodb, Firestore.
  • Client-side: CSS, HTML5, JavaScript, Angular, React.js
  • Tools (hosting, monitoring, etc.): Kubernates, Docker, Load balancer.
  • Integrations: Intercom, localise.biz, Pexip, SendGrid, Stripe, Twilio


How much does it cost to build a website like Upwork?


Feature detail

  • Sign in/sign up

On registration, the user should be allowed to create the two types of profile – freelancers and clients

  • User profile

Generally, freelance platforms have two types of profile – customers and freelancers. You can also allow registering a company – it is up to you to decide. In the profile editing page, the parties should be able to provide their name, bio, and skills, and add portfolio items. For the freelancer’s profile, you may introduce the requirement of passing some tests to confirm their skills.

  • Verification

For the parties to be able to trust each other, it is necessary to introduce a verification system. You can verify your users by asking them to provide an email and phone number, government-issued ID, a photo, or other credentials. The companies may be asked to provide their registration number and/or tax information.

  • Job posting & bidding

To make the platform work, the clients should be able to post their jobs, and the freelancers should be able to send their applications. You may introduce some limitations (for example, only freelancers of a certain grade may apply to this project). Also, the process of posting and applying for a job may be free or paid – you should define this at the stage of creating the business model.

  • Advanced search

In order to give the parties the opportunity to find suitable projects and freelancers, the marketplace should have a detailed search system. For example, the clients may sort the freelancers according to their relevance, experience, skills, hourly rate, etc. The workers may sort the projects according to the budget, deadline, required skills, etc. In the filtering options, the parties may filter out the irrelevant projects and workers (e.g with too low a budget or insufficient experience).

  • Notifications

To keep the users updated regarding the activity on the platform, a system of notifications is necessary. The app may inform the users about new messages, payments, money withdrawal, etc. by sending notifications to their email or smartphone, or by displaying desktop pop-ups. The users should have wide opportunities for customizing the notification settings.

  • Messenger

To provide the parties a secure way of communication, the platform should have a built-in messaging system. For the users, it will also be convenient to have a system for screen sharing and file exchange.

  • Payment integration

For the users to deposit and withdraw money, and make transactions for another account, it is necessary to be integrated with popular payment systems like PayPal, Payoneer, Stripe, etc.

  • Localization

To improve the user experience of both parties, it is necessary to localize the platform to different languages, especially if the marketplace is going to be international. Generally, it is enough to make two versions of the website – one for local users in their native language, and the international one in English.

  • Feedback

Having finished the cooperation, the parties may want to leave feedback about their work. The client may comment on the quality of the freelancer’s work, and the freelancer may evaluate the communication, clarity of the tasks, etc.

  • Admin panel

This allows managing the user accounts, jobs, and payments, and handling possible backend issues. We can develop an admin dashboard for you by using the Active Admin Ruby gem.


Having reading this article, you now know everything about the freelance marketplaces like Upwork and Wrked. We have studied the functionality of Upwork in detail and, hopefully, you now have a more detailed vision of the business model of our future platform. Looking to build a platform like Upwork Talk to our expert.