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.

Case study

How RubyGarage Built an Online Marketplace for Home Services for Saudi Arabia's Digital Transformation

Header image

Challenge

Heart

RubyGarage was tasked by Naxy Nwodo to create CallOnDuty, an online marketplace to connect local service providers with consumers for home tasks. The platform needed to be user-friendly and efficient, saving customers time and effort.

Hand

Quality assurance was crucial; CallOnDuty had to ensure reliable services through reviews or vetting processes. The aim was to offer only trustworthy providers to consumers.

Human

Security was a must, especially in handling transactions. The platform must protect user financial data and ensure price transparency for customers to compare providers.

Human

Flexibility in scheduling was essential. The platform had to offer convenient booking options for customers while allowing service providers to manage their availability.

Human

Lastly, excellent customer service was indispensable for resolving issues and ensuring a smooth experience. A straightforward dispute-resolution process was needed to protect both parties.

Solution

From initial brainstorming to continuous improvement, the RubyGarage team employed a holistic approach to bring CallOnDuty to life. Leveraging in-depth market research, audience segmentation, and Agile methodologies, we ensured the platform not only met industry needs but also offered a user-centric, secure, and scalable solution for both service providers and consumers.

  • 01
    Research and planning

    1. Idea generation

    The journey began with brainstorming sessions, where we churned out various ideas to revolutionise the home services sector. The best of these was refined into the concept of CallOnDuty.

  • 02
    Research and planning

    2. Market research

    Our team delved deep into market analytics and user behaviour to validate the initial idea. This research provided us with valuable insights into the industry's pain points and opportunities.

  • 03
    Research and planning

    3. Audience segmentation

    We identified and categorised our target audience based on several factors, such as needs, geography, and behaviour. This helped us in tailoring our product to meet specific customer needs.

  • 04
    Research and planning

    4. Feasibility analysis

    An in-depth feasibility study was conducted to evaluate the practicality and financial viability of the project. This phase ensured that CallOnDuty was not just a great idea but also a feasible one.

  • 05
    Research and planning

    5. Product hypothesis

    Based on our research and analysis, we formulated a clear product hypothesis outlining what CallOnDuty aimed to achieve and how we would measure its success.

  • 06
    Research and planning

    6. MVP (Minimum Viable Product) planning

    We outlined the core functionalities and features needed for a Minimum Viable Product (MVP). This roadmap served as our blueprint for initial development.

  • 07
    Research and planning

    7. Roadmap

    A detailed project roadmap was drawn up, complete with milestones and timelines. This plan guided us through development and aligned the team with project goals.

  • 08
    Research and planning

    8. Tech stack selection

    We chose a modern technology stack, combining Ruby on Rails for the backend and React.js for the frontend, to turn our vision for CallOnDuty into reality.

  • 09
    Research and planning

    9. Team formation

    Specialised teams were assembled, including frontend and backend developers, UI/UX designers, and quality assurance experts. Each team had a defined role in bringing CallOnDuty to life.

  • 10
    Research and planning

    10. UI/UX designing

    Our designers crafted an intuitive and visually appealing user interface. They focused on user-centric design to enhance the overall user experience.

  • 11
    Research and planning

    11. Agile development

    We employed Agile methodologies to facilitate a flexible and collaborative development process. Regular sprints and stand-up meetings ensured the project stayed on track.

  • 12
    Research and planning

    12. Quality assurance

    Before any code went live, it underwent stringent quality checks. This phase ensured that CallOnDuty met all functional and security benchmarks.

  • 13
    Research and planning

    13. Alpha release

    The first version of CallOnDuty was rolled out to a select group of users. This alpha release helped us to identify any major issues that needed urgent attention.

  • 14
    Research and planning

    14. Beta release

    Following tweaks and improvements, a more polished version was released to a wider audience for beta testing. This phase provided broader insights into user interaction and possible improvements.

  • 15
    Research and planning

    15. Feedback loop

    After each release, we collected user feedback to understand what worked and what didn't. This feedback was invaluable for making data-driven decisions.

  • 16
    Research and planning

    16. Continuous improvement

    Armed with user feedback and analytics, we entered a cycle of continuous improvement, fine-tuning features, and rolling out updates to meet user expectations better.

Results

CallOnDuty, developed by RubyGarage, is a streamlined online marketplace connecting local service providers and consumers for home-related tasks. It enables users to discover services, review profiles, and securely book suitable providers. For providers, it's an opportunity to highlight their skills, expand their reach, and enhance their business. It epitomises ease, security, and user-friendliness in managing everyday home tasks.

Unfailing project delivery

Following a meticulous project plan, RubyGarage delivered CallOnDuty on schedule, meeting all established milestones.

Tailored features

Distinctive features, including a powerful search engine, user-friendly booking system, and secure payments, were crafted and integrated, amplifying CallOnDuty's uniqueness.

Cohesive brand incorporation

We seamlessly blended CallOnDuty's brand elements, delivering a visually appealing and consistent user experience.

Rigorous quality checks

Through thorough testing, we ensured optimal performance, reliability, and security, enhancing user confidence in the platform.

Smooth deployment

We facilitated a successful launch, offering indispensable support during the setup, data migration, and deployment stages.

Enabling operation

We provided extensive training and documentation, bolstering the CallOnDuty team's ability to manage their platform.

Successful product launch

CallOnDuty was launched successfully, meeting the project timeline and budget constraints, thus affirming RubyGarage's prowess in efficient project management and development.

Broad service provider inclusion

The platform launched with a diversified list of vetted service providers, immediately ensuring a wide range of services available to consumers.

Immediate user adoption

Within the first month of launch, CallOnDuty garnered a significant user base, demonstrating the market demand for a robust, multi-category home services platform.

Secure transactions

From day one, the platform's secure payment gateway has ensured that there are zero incidents of transaction fraud, instilling confidence among the users.

Strong review system

Upon launch, the platform’s review and rating system received active participation, indicating user engagement and the system's ease of use.

Operational efficiency for providers

The platform's easy-to-use scheduling features enabled service providers to manage their availability efficiently, leading to increased bookings and revenue within the first quarter.

Winning user approval

CallOnDuty's positive reception post-launch highlights RubyGarage's successful development efforts, with users praising the platform's intuitive design and robust features.

Positive feedback loop

A feedback loop was successfully established post-launch, providing actionable insights for ongoing platform enhancements.

Accelerated business expansion

RubyGarage's successful execution has propelled CallOnDuty's growth, marking an upswing in registered users, transactions, and overall user engagement.

Key features

CallOnDuty focuses on convenience, trust, and efficiency for both service providers and consumers. From intuitive search and secure payments to robust analytics, every feature is designed to simplify the process of connecting local service providers with consumers, ultimately enhancing the user experience and driving business growth.

Service listing

Providers can enumerate and detail their services with descriptions, images, and pricing. This feature simplifies listing management and updates.

Slide 1

Intuitive search and filtering

We created an efficient search function that allows customers to narrow down services using criteria like cost, location, ratings, or specific types.

Slide 2

Scheduling and booking

Customers can readily book services, specify job requirements, and select a payment method, streamlining the booking process.

Slide 3

Secure payment processing

A top-tier secure payment gateway ensures safe transactions, supporting a range of payment options like cards, online banking, or digital wallets.

Slide 4

Review and rating system

A transparent review system fosters trust and maintains service quality by allowing customers to provide feedback on their service providers.

Slide 5

User registration and profile management

We made it easy for service providers and customers to create, customise, and manage profiles. Providers can share skills, rates, and availability information, while customers can save preferences and manage bookings.

Slide 6

Messaging system

A built-in messaging system lets customers and providers discuss details, make arrangements, or resolve issues without leaving the platform.

Slide 7

Geolocation

This feature matches customers with local providers, provides navigational aid, and lets customers track a service provider's real-time arrival.

Slide 8

Automated reminders

Notifications inform users about important updates like new messages, upcoming appointments, booking alterations, or fresh reviews.

Slide 9

User dashboard

This feature gives users a snapshot of their activity, including booking history, upcoming services, and favourite providers. For providers, it summarises earnings, upcoming jobs, and customer feedback.

Slide 10

Insightful analytics and reports

We incorporated data analytics and reporting features for platform administrators to gain insights into user behaviour, popular services, peak usage periods, and more. These valuable insights help drive platform growth and improvements.

Slide 11

Customer support

The help centre fields common queries and offers assistance via live chat, email, or a phone line for user issues.

Slide 12

Key features

CallOnDuty focuses on convenience, trust, and efficiency for both service providers and consumers. From intuitive search and secure payments to robust analytics, every feature is designed to simplify the process of connecting local service providers with consumers, ultimately enhancing the user experience and driving business growth.

Service listing

Providers can enumerate and detail their services with descriptions, images, and pricing. This feature simplifies listing management and updates.

Slide 1
Slide 2
Slide 3
Slide 4
Slide 5
Slide 6
Slide 7
Slide 8
Slide 9
Slide 10
Slide 11
Slide 12

Technology stack

We selected a technology stack combining the modern Ruby on Rails framework with Ruby gems and approaches, a powerful frontend, and other supporting technologies.

Frontend

Ensures a seamless and engaging user experience, increasing customer retention and satisfaction.

Typescript
React.js
React Router
+3

Frontend

Typescript

Typescript is a statically typed superset of JavaScript that adds optional types, providing a safer and more efficient development experience.

React.js

React.js is a JavaScript library with a component-based architecture for building user interfaces, particularly single-page applications.

React Router

React Router is a standard routing library for React that manages and navigates between different components based on the browser's URL.

Material-UI

Material-UI is a popular React UI framework with a set of pre-designed components that follow Google's Material Design principles.

Redux

Redux is a predictable state container for JavaScript apps that helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test.

Redux Saga

Redux Saga is a middleware library for Redux that manages side effects, such as asynchronous actions like fetching data.

Backend

Facilitates efficient data processing and secure user authentication, streamlining operations and boosting trust.

Ruby on rails
Trailblazer
Sidekiq
+4

Backend

Ruby on rails

Ruby on rails is a popular, full-stack web application framework for the Ruby language which emphasises convention over configuration and follows the MVC pattern.

Trailblazer

Trailblazer is a new architectural layer for Ruby On Rails and other Ruby frameworks, introducing several high-level abstractions to structure applications.

Sidekiq

Sidekiq is a background job processor for Ruby, useful for running tasks asynchronously outside of the main request-response cycle.

ActiveAdmin

ActiveAdmin is a Ruby on Rails plugin for generating administration-style interfaces.

Devise

Devise is a flexible authentication solution for Rails applications with support for features such as password encryption, user registration, and session management.

Puma

Puma is a fast, concurrent web server for Ruby and Rack applications that can handle multiple requests simultaneously.

ActiveModelSerializers

ActiveModelSerializers provides a convention-based approach to serialising Ruby objects based on their model layer, suitable for use in APIs.

Data management

Offers fast and reliable data storage, analytics, and search features, enhancing user experience and operational insights.

PostgreSQL
Redis
Elasticsearch
+3

Data management

PostgreSQL

PostgreSQL is a powerful, open-source object-relational database system with a strong emphasis on extensibility and standards compliance.

Redis

Redis is an in-memory data structure store used as a database, cache, and message broker.

Elasticsearch

Elasticsearch is a powerful, distributed, RESTful search and analytics engine capable of addressing many use cases.

Pg_search

Pg_search builds ActiveRecord named scopes that take advantage of PostgreSQL's full-text search.

Searchkick

Searchkick is a Ruby gem that simplifies, optimises, and adds extra functionality to Elasticsearch in Ruby on Rails applications.

Quality assurance and security

Prioritises a secure, bug-free environment through comprehensive testing and real-time monitoring, safeguarding user data and brand reputation.

RSpec
FactoryBot
Capybara
+5

Quality assurance and security

RSpec

RSpec is a behaviour-driven development (BDD) testing framework for Ruby.

FactoryBot

FactoryBot is a library for setting up Ruby objects as test data.

Capybara

Capybara is an acceptance test framework for web applications in Ruby.

Omniauth

Omniauth is a flexible authentication system for Rack-based Ruby applications, supporting multiple strategies like OAuth and LDAP.

CanCanCan

CanCanCan is an authorisation library for Ruby and Rails applications that restricts what resources a user is allowed to access.

Rack Cors

Rack Cors is a middleware for Rack-based applications that supports Cross-Origin Resource Sharing (CORS), allowing web applications to specify which domains are allowed to make requests.

Monit

Monit is a synchronisation construct that allows methods to be executed atomically, preventing multiple threads from entering a method simultaneously in Ruby.

Sentry

Sentry provides error tracking that shows you every crash in your stack as it happens, with the details needed to prioritise, identify, reproduce, and fix each issue.

Integrations

Integrates a suite of essential services to streamline payment processing, enhance user experience, facilitate seamless communication, and expand customer support capabilities.

Stripe API
PayPal
Google Maps
+4

Integrations

Stripe API

Stripe API enables smooth and secure financial transactions, increasing revenue streams and customer trust.

PayPal

PayPal provides an additional payment option, enhancing customer convenience and potentially increasing conversion rates.

Google Maps

Google Maps enhances the user experience by offering real-time location tracking and service location-based searches.

Twilio

Twilio for SMS facilitates immediate communication through automated text message notifications for booking confirmations, updates, and cancellations.

SendGrid

SendGrid for email manages automated email notifications for transactional and promotional purposes, enhancing customer engagement and retention.

Zendesk

Zendesk offers a comprehensive customer support suite, including chat and ticketing systems, to improve customer satisfaction and issue resolution.

Google Translate

Google Translate allows the platform to offer content in multiple languages, broadening its reach and making the service accessible to a diverse user base.

Infrastructure management

Designed for high scalability and reliability, ensuring the business can adapt quickly to market demands and user needs.

AWS
Docker
Kubernetes
+1

Infrastructure management

AWS

AWS (Amazon Web Services) is a comprehensive and widely adopted cloud platform that offers a range of cloud computing services, including computing power, storage, and databases, ensuring the platform's scalability, reliability, and security.

Docker

Docker is a platform that automates container application deployment, scaling, and management, enabling consistent and efficient application delivery.

Kubernetes

Kubernetes is a container orchestration platform for automating deployment, scaling, and managing containerised applications, which helps ensure the high availability and scalability of the platform.

New Relic

New Relic is a performance monitoring tool that provides real-time insights into the functioning of your web applications, allowing for data-driven decisions.

Looking to build a thriving online service marketplace? We’re here to help.

Our Advantages

  1. check icon Free & non-binding offer
  2. check icon 13+ years in the development and service design market
  3. check icon 160+ released projects
  4. check icon 150+ In-house specialists
  5. check icon Needs analysis instead of sales talk
  6. check icon Valuable suggestions from experts in the field for your project

Tallin

Harju maakond, Tallinn, Lasnamäe linnaosa, Paepargi tn 47-9, Estonia, 11417
Project inquiries