This website uses cookies to better the user experience of its visitors. Where applicable, this website uses a cookie control system, allowing users to allow or disallow the use of cookies on their computer/device on their first visit to the website. This complies with recent legislative requirements for websites to obtain explicit consent from users before leaving behind or reading files such as cookies on a user’s computer/device. To learn more click Cookie Policy.

Privacy preference center

Cookies are small files saved to a user’s computer/device hard drive that track, save, and store information about the user’s interactions and website use. They allow a website, through its server, to provide users with a tailored experience within the site. Users are advised to take necessary steps within their web browser security settings to block all cookies from this website and its external serving vendors if they wish to deny the use and saving of cookies from this website to their computer’s/device’s hard drive. To learn more click Cookie Policy.

Manage consent preferences

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
Cookies list
Name _rg_session
Provider rubygarage.org
Retention period 2 days
Type First party
Category Necessary
Description The website session cookie is set by the server to maintain the user's session state across different pages of the website. This cookie is essential for functionalities such as login persistence, ensuring a seamless and consistent user experience. The session cookie does not store personal data and is typically deleted when the browser is closed, enhancing privacy and security.
Name m
Provider m.stripe.com
Retention period 1 year 1 month
Type Third party
Category Necessary
Description The m cookie is set by Stripe and is used to help assess the risk associated with attempted transactions on the website. This cookie plays a critical role in fraud detection by identifying and analyzing patterns of behavior to distinguish between legitimate users and potentially fraudulent activity. It enhances the security of online transactions, ensuring that only authorized payments are processed while minimizing the risk of fraud.
Name __cf_bm
Provider .pipedrive.com
Retention period 1 hour
Type Third party
Category Necessary
Description The __cf_bm cookie is set by Cloudflare to support Cloudflare Bot Management. This cookie helps to identify and filter requests from bots, enhancing the security and performance of the website. By distinguishing between legitimate users and automated traffic, it ensures that the site remains protected from malicious bots and potential attacks. This functionality is crucial for maintaining the integrity and reliability of the site's operations.
Name _GRECAPTCHA
Provider .recaptcha.net
Retention period 6 months
Type Third party
Category Necessary
Description The _GRECAPTCHA cookie is set by Google reCAPTCHA to ensure that interactions with the website are from legitimate human users and not automated bots. This cookie helps protect forms, login pages, and other interactive elements from spam and abuse by analyzing user behavior. It is essential for the proper functioning of reCAPTCHA, providing a critical layer of security to maintain the integrity and reliability of the site's interactive features.
Name __cf_bm
Provider .calendly.com
Retention period 30 minutes
Type Third party
Category Necessary
Description The __cf_bm cookie is set by Cloudflare to distinguish between humans and bots. This cookie is beneficial for the website as it helps in making valid reports on the use of the website. By identifying and managing automated traffic, it ensures that analytics and performance metrics accurately reflect human user interactions, thereby enhancing site security and performance.
Name __cfruid
Provider .calendly.com
Retention period During session
Type Third party
Category Necessary
Description The __cfruid cookie is associated with websites using Cloudflare services. This cookie is used to identify trusted web traffic and enhance security. It helps Cloudflare manage and filter legitimate traffic from potentially harmful requests, thereby protecting the website from malicious activities such as DDoS attacks and ensuring reliable performance for genuine users.
Name OptanonConsent
Provider .calendly.com
Retention period 1 year
Type Third party
Category Necessary
Description The OptanonConsent cookie determines whether the visitor has accepted the cookie consent box, ensuring that the consent box will not be presented again upon re-entry to the site. This cookie helps maintain the user's consent preferences and compliance with privacy regulations by storing information about the categories of cookies the user has consented to and preventing unnecessary repetition of consent requests.
Name OptanonAlertBoxClosed
Provider .calendly.com
Retention period 1 year
Type Third party
Category Necessary
Description The OptanonAlertBoxClosed cookie is set after visitors have seen a cookie information notice and, in some cases, only when they actively close the notice. It ensures that the cookie consent message is not shown again to the user, enhancing the user experience by preventing repetitive notifications. This cookie helps manage user preferences and ensures compliance with privacy regulations by recording when the notice has been acknowledged.
Name referrer_user_id
Provider .calendly.com
Retention period 14 days
Type Third party
Category Necessary
Description The referrer_user_id cookie is set by Calendly to support the booking functionality on the website. This cookie helps track the source of referrals to the booking page, enabling Calendly to attribute bookings accurately and enhance the user experience by streamlining the scheduling process. It assists in managing user sessions and preferences during the booking workflow, ensuring efficient and reliable operation.
Name _calendly_session
Provider .calendly.com
Retention period 21 days
Type Third party
Category Necessary
Description The _calendly_session cookie is set by Calendly, a meeting scheduling tool, to enable the meeting scheduler to function within the website. This cookie facilitates the scheduling process by maintaining session information, allowing visitors to book meetings and add events to their calendars seamlessly. It ensures that the scheduling workflow operates smoothly, providing a consistent and reliable user experience.
Name _gat_UA-*
Provider rubygarage.org
Retention period 1 minute
Type First party
Category Analytics
Description The _gat_UA-* cookie is a pattern type cookie set by Google Analytics, where the pattern element in the name contains the unique identity number of the Google Analytics account or website it relates to. This cookie is a variation of the _gat cookie and is used to throttle the request rate, limiting the amount of data collected by Google Analytics on high traffic websites. It helps manage the volume of data recorded, ensuring efficient performance and accurate analytics reporting.
Name _ga
Provider rubygarage.org
Retention period 1 year 1 month 4 days
Type First party
Category Analytics
Description The _ga cookie is set by Google Analytics to calculate visitor, session, and campaign data for the site's analytics reports. It helps track how users interact with the website, providing insights into site usage and performance.
Name _ga_*
Provider rubygarage.org
Retention period 1 year 1 month 4 days
Type First party
Category Analytics
Description The _ga_* cookie is set by Google Analytics to store and count page views on the website. This cookie helps track the number of visits and interactions with the website, providing valuable data for performance and user behavior analysis. It belongs to the analytics category and plays a crucial role in generating detailed usage reports for site optimization.
Name _gid
Provider rubygarage.org
Retention period 1 day
Type First party
Category Analytics
Description The _gid cookie is set by Google Analytics to store information about how visitors use a website and to create an analytics report on the website's performance. This cookie collects data on visitor behavior, including pages visited, duration of the visit, and interactions with the website, helping site owners understand and improve user experience. It is part of the analytics category and typically expires after 24 hours.
Name _dc_gtm_UA-*
Provider rubygarage.org
Retention period 1 minute
Type First party
Category Analytics
Description The _dc_gtm_UA-* cookie is set by Google Analytics to help load the Google Analytics script tag via Google Tag Manager. This cookie facilitates the efficient loading of analytics tools, ensuring that data on user behavior and website performance is accurately collected and reported. It is categorized under analytics and assists in the seamless integration and functioning of Google Analytics on the website.

How Much Does it Cost to Build a Design Contest Marketplace Like 99designs?

  • 13256 views
  • 13 min
  • Sep 12, 2017
Gleb B.

Gleb B.

Copywriter

Vlad V.

Vlad V.

Chief Executive Officer

Tags:

Share

If you’re planning to build your own design contest marketplace, 99designs is, no doubt, the best example to look to. Started as fictional design competitions in SitePoint forums, 99designs grew into a booming crowdsourcing platform with a reported revenue of $60 million in 2015, and this figure has likely grown since.

If you’re reading this article, you’re probably wondering how to build a similar web application and how much you’d need to invest in its development. In this article, we’re going to answer your questions first concisely and then in detail.

The short answer is that developing a design contest marketplace like 99designs will take 12 to 14 weeks and require investment of around $55,440.

How Much Does it Cost to Build Contest Marketplace
Source: 99designs

This brief information, however, tells you nothing about what these numbers represent. In fact, the cost of a design contest marketplace depends on its functionality. So to figure out pricing, you should know how these marketplaces work and what functionalities they must have.

We’ve written this article to give you a thorough understanding of how much developing a design contest marketplace might cost.

How Do Design Contest Marketplaces Work?

It all starts when customers come to a design contest marketplace with a clear purpose: to order an on-point design that will help them stand out from their competitors.

A design contest marketplace is a crowdsourcing platform that helps customers get multiple designs and choose the best among them. Designers, in turn, get the opportunity to participate in many contests and ultimately earn money from those they win. Therefore, a design contest marketplace involves two types of users: customers (who order designs) and designers (who submit designs).

The customer is the one who orders designs (and pays for them), and so let’s check out how a typical design contest marketplace works from a customer’s point of view.

Contest Marketplace Workflow Infographics
Source: 99designs

Step #1 Starting a Contest

To start a contest, customers choose what kind of design they need and then fill out a detailed brief. This brief includes all information needed to design a project, so the more informative it is, the better the designers will understand what the customer wants.

After they’ve filled out a brief, customers can adjust settings and start the contest. Once started, a contest is seen by designers, who can read the brief and enter.

Start a Contest
Source: 99designs

Step #2 Validating Submitted Designs

At the next stage, designers submit their designs, customers carefully examine them and shortlist those they like.

At 99designs, this is called the qualifying round and lasts four to six days (depending on the type of design). All designers on the site can participate.

Receive Multiple Designs
Source: 99designs

Step #3 Providing Feedback

At the feedback stage, customers select their favorite designs that have been submitted. Customers can provide feedback and communicate with the finalists, asking them to make changes before making a final decision on the winner.

99designs calls this stage the final round, which takes three to five days (depending on the type of design) and allows customers to shortlist no more than six designers.

Provide Feedback in Contest
Source: 99designs

Step #4 Selecting the Winner

In the final stage of a design competition, a customer chooses the winner who must then upload source files in the proper formats. When the customer has accepted the files, copyright is transferred from the winner to the customer. 99designs calls this stage the design handover.

Choose the Winner in Contest
Source: 99designs

How Much Does It Cost to Build a Design Contest Marketplace?

Now that you know how a design contest marketplace works, let’s move on to assessing how much money you may need to develop a web application like 99designs.

To make our assessment as accurate as possible, we’re going to assess a full software development cycle, which includes the following stages:

Product design
  • Requirements and functional specifications
  • UX design
  • UI design
Development
  • Frontend development
  • Backend development
  • QA (manual acceptance testing and automated regression testing)

The team required for coping with this scope of work should have at least six specialists: a UI/UX designer, two frontend and two backend developers, and a QA engineer.

The price for developing a design contest marketplace depends on its functionality: the more functions, the more it will cost. For our assessment, however, we’ve taken the most important functions and divided them into several modules.

We’re going to assess how many hours it would take to develop each module. As for the price, it depends on software development rates. For our assessment, we’ll take an average rate for top-tier outsourcing companies, which is currently around $45 per hour.

Account Management

This module contains functionality related to authorization, authentication, and account management. A design contest marketplace has two types of users: a customer and a designer. A new user can choose whether to sign up as a customer or as a designer.

When customers or designers register, they need to provide personal information (name, phone number, address, etc.), verify their identity (both customers and designers), manage login credentials, and set notifications (for instance, of recent activities in a contest).

Account Settings 99designs
Source: 99designs

Developing the core functionality related to account management would take our team approximately 144 hours.

Profile Management

Customers and designers need personal profiles. Users should be able to edit the information displayed to others, such as name, biography, and avatar.

A designer profile includes a portfolio where a designer can add designs he or she wants to showcase. Moreover, designers should be able to add testimonials to their profiles.

User Profile at 99designs
Source: 99designs

Both customer and designer profiles should have contact lists so users can quickly check who they’ve worked with.

Our team would need around 120 hours to add this module.

Contest Creation

This module includes all functionality related to creating a contest. Needless to say, only customers can launch new contests. First, a customer should be able to select a design category, such as logo, packaging, or website. 99designs provides a huge list of design categories to choose from:

Design Categories at 99designs
Source: 99designs

Next, customers need to fill out a detailed design brief where they explain what kind of design they want to get and provide lots of information for designers (style, design samples, target audience, intended message, etc.).

Before launching a contest, customers need to configure its privacy settings: public (designs seen by anyone), blind (only the customer can see submitted designs), or private (hidden from search engines and protected by an NDA). Adding support for NDAs is crucial, as many customers wish to keep their information confidential. If a contest is protected by an NDA, designers will have to sign it before they can read the design brief.

To finish creating a new contest, customers have to make a payment.

Developing the functionality to create contests would take us 192 hours.

Contest Management

A typical customer is likely to launch several contests, so he or she needs a dashboard to see all contests in-progress, completed, and canceled. Thanks to a dashboard, customers can quickly find contests or retrieve information about previous projects.

Customer Dashboard 99designs
Source: 99designs

This module also includes functionality that allows customers to edit contest settings even if contests are already active. For example, a customer should be able to change the title, upgrade the design brief, extend the duration of a contest, and so on.

Customers receive dozens of designs for every contest, so they need to be able to decline the designs they don’t like or even eliminate certain designers. This function is very helpful for both customers (who can reduce clutter) and designers (who can focus on participating in other contests).

Implementing contest management functionality will take around 168 hours.

Contest Participation

This module is focused on providing designers with the functionality to find and enter contests.

Since designers participate in multiple contests, they need an informative dashboard that shows what contests they’ve participated in (won, became finalists in, or simply submitted designs for) and what contests they’re currently participating in.

Also, designers need to find new contests they wish to join, so your design contest marketplace must provide contest search functionality. This search tool should have filters so designers can find projects they’re interested in as soon as possible.

Find Contests at 99designs
Source: 99designs

To participate in a contest, designers need to submit their designs, i.e. upload their works so the customer can see them. Customers must be notified when new designs are submitted to their contests. Therefore, a design contest marketplace needs email notification functionality.

To develop contest participation functionality, our development team would need 184 hours.

Contest Finalization

This module contains the functionality related to finalizing contests. Customers need to select the designs they like in order to choose the winner. Typically, customers communicate with shortlisted designers and ask for changes in their designs, so your design contest marketplace needs some communication functionality. Keep in mind that putting ideas into the right words may be rather difficult for many people, so along with comments your design contest marketplace needs an annotation tool. An annotation tool allows customers to leave messages right on top of designs so designers can clearly understand what changes they need to make.

When customers have made up their minds on the best design, they need to select the winner, which is what the design transfer functionality is needed for. Designers must submit source files and customers must review them. If the customer approves the files, the contest is completed: the customer receives full copyright on designs and the designer gets paid.

Copyright Transfer at 99designs
Source: 99designs

Developing the functionality for finalizing contests would require 168 hours.

Financial Management

A design crowdsourcing platform is a marketplace, so users need financial management functionality. Both customers and designers must have a special directory in their account settings for keeping all financial information (credit card or payment system details) and displaying the history of payments (for customers) or payouts (for designers).

Your design contest marketplace needs to both accept payments from customers and make payments to designers. We suggest integrating a popular online payment systems such as PayPal, Braintree, Stripe, or Payoneer.

Payment Options at 99designs
Source: 99designs

Implementing all functionalities of this module would require 136 hours.

Customer Support

Often, customers and designers have questions and need help when using a design contest marketplace, so your application needs a customer support module. Customer support includes such must-have functionalities as a help or FAQ directory.

Moreover, users must be able to quickly realize what your contest marketplace is and how it works. Thus, you should develop several pages that explain how your application works including a main page, a page with general information about your marketplace (usually called “About Us”), and a page describing the workflow for customers and designers.

Help Directory at 99designs
Source: 99designs

Developing this module would take 120 hours.

Now that you know what functionalities your design contest marketplace should have, it’s time to decide what technologies to build your application with. Choosing the right technology stack is essential, particularly for a startup that needs to get a project off the ground really fast and for a reasonable price.

We suggest the following technology stack for building a design contest marketplace:

Client-Side Technology Stack

  • Programming Languages – JavaScript, HTML5, CSS3
  • JavaScript Framework – React.js

Server-Side Technology Stack

  • Programming Language – Ruby
  • Application Framework – Ruby on Rails
  • Automation Frameworks – RSpec, Capybara, PhantomJS
  • Data Storage – PostgreSQL
  • Key-value Storage – Redis
  • Web Server – Nginx
  • Web Application Server – Puma
  • Hosting – Amazon Web Services (AWS)

Choosing a Business Model for a Design Contest Marketplace

Your design contest marketplace is expected to bring profit, so think about how you’ll monetize your application.

Most existing design content marketplaces charge commission for their services: most of what a customer pays goes to the winning designer, while the rest goes to the design contest marketplace. This, however, isn’t the only way to generate revenue.

Since 99designs is the world’s leading design contest marketplace, let’s have a deeper look at the monetization strategies it uses.

Multiple Pricing Plans

Unlike most other design contest marketplaces, 99designs offers several pricing plans: Bronze, Silver, Gold, and Platinum. When launching a contest, customers can choose one of these four plans. The better the plan, the higher the payout for the winner.

The Bronze pricing plan is the most affordable option, while the Silver plan offers a larger payout for the winner, so more designers are encouraged to participate. Gold and Platinum pricing plans allow customers to work only with the most proficient designers.

Pricing Models at 99designs
Source: 99designs

Additional Contest Options

Offering paid contest options to customers is another great monetization strategy used by 99designs. For example, customers may wish to invite designers to enter their contest personally (called invitation-only contests) or hide their contests from search engines (i.e. to launch private contests).

Other options include promoting contests on the 99designs blog or on social media.

Additional Contest Options at 99designs
Source: 99designs

Extra Services

99designs doesn’t limit itself to design contests, but also provides 1-to-1 projects and Pro services.

In a 1-to-1 project, a customer can work directly with a designer he or she chooses. Of course there’s no fixed price for 1-to-1 projects, so the price is negotiated between the customer and the designer. For these projects, customers can either pick a designer from their contact list or simply hire any designer on the site.

Finally, 99designs offers Pro services for truly challenging tasks. A Pro service is individually tailored for a customer: 99designs’ project managers take on the task of finding the best designers, filling out the brief, and so on.

Pro Services at 99designs
Source: 99designs

Ready to Build a Contest Marketplace?

It’s finally time to sum up. Developing a design contest marketplace with basic functionality would take approximately 1,232 hours, which translates into an investment of $55,440 (at a rate of $45 per hour).

To reduce the cost and time of the marketplace development, the RubyGarage team has created a white-label solution to quickly build, deploy and launch a contest marketplace like 99designs. Our solution lets us lower the cost up to $40,000 (for an MVP). 

In addition, our solution allows to build custom marketplaces with unique features and one-of-a-kind design.

You may also wish to adopt the best practices of 99designs for creating a contest marketplace for a different domain. A crowdsourcing platform may prove efficient for a number of industries, from travel planning to music production.

CONTENTS

Tags:

Authors:

Gleb B.

Gleb B.

Copywriter

Vlad V.

Vlad V.

Chief Executive Officer

Rate this article!

Nay
So-so
Not bad
Good
Wow
2 rating, average 5 out of 5

Share article with

Comments (0)

There are no comments yet

Leave a comment

Subscribe via email and know it all first!