case video fallback
Case Study

The growth
of Clutch.co

Helping a successful data-driven B2B platform smoothly adapt to increasing
loads and numbers of users through cutting-edge technological solutions

Clutch.co is one of the leading platforms whose mission is to provide unbiased reviews and ratings for IT, marketing, and business service providers. By providing reliable information, analysis data, and genuine reviews, the platform assists companies and business owners in choosing the right partners for a specific project or conducting their research and evaluation.

Recognized as the Most Trusted Business Reviews Platform

map
account

1 million

monthly buyers

analytics

225,800 +

companies

bookmark

104,300 +

client reviewes

review-technologyFast

Deloitte’s Technology Fast 500

review-linkedIn

LinkedIn Top 50 Startups in the U.S.

inc-500

Inc 500 America’s Fastest-Growing Private Companies

Why do top firms & decision
makers trust Clutch?

Clutch's founder created the platform to make it easy to perform credible and accessible market research. They saw a challenge in how advertorials and superficial data distorted businesses’ buying decisions.

  1. Clutch is a credible platform with data, case studies, and client testimonials that guide readers through the process of choosing a business service or solution.
  2. Clutch provides a dedicated team that interviews real clients, collects data, and enables comparison against competitors to help users find suitable partners.
  3. The clear indication of paid endorsements and sponsored posts on Clutch enables well-informed market research.

Great technical challenges come
with rapid growth

Clutch’s customer base and website traffic are doubling every year. With great growth come great technical challenges. The stable solution that worked smoothly for a small user base was no longer enough to sustain the website traffic of 800K unique users per month. The slow, monolithic architecture had become an obstacle to growth.

So, to continue improving the way that companies look for vendors, Clutch decided to bring changes to the current technological stack and then build a faster, better platform with new software architecture.

Limited monolithic architecture on the content management framework

Non-scalable architecture slowed down new feature releases and was not sustainable due to the platform’s rapid growth.

challenge-phone

Low website speed negatively impacts search engine optimisation (SEO)

They can see how many and how often potential customers drive past their store/eatery/salon and how the supplies they need make it to them through the city. All this helps devise better business models in terms of both marketing and logistics.

Inconvenient platform maintenance

Releasing new features and maintaining the platform became inconvenient as it outgrew the content management framework’s capabilities.

challenge-tablet

Outstaffing to multi-location teams

The customer’s development team is fully distributed, with the head office in Washington, DC, and staff based in Poland and Ukraine. Mad Devs stepped in as an outstaffing company to help Clutch.co reach its desired goals on time. Our software and DevOps engineers, project managers, and other multi-location teams operate under the CTO’s direct supervision.

Key results achieved by the Clutch.co and Mad Devs collaboration

Graph icon

Built service-oriented architecture

Person icon

Integrated single sign-on (SSO)

Cost icon.

Optimised Clutch.co’s infrastructure costs

Menu icon

Implemented Matchmaking and Shortlist

Settings icon.

Developed the Statistics service for intelligent decision making

Box icon.

Developed a repository for geographical data

Chip icon.

Implemented a connector between Clutch and HubSpot

Speed icon.

Improved website and widget performance

Switched to the microservices architecture

Although Clutch.co’s monolithic architecture was cost-effective at the early development stages, it couldn’t sustain Сlutch’s continuously increasing website traffic and new registrations. So Mad Devs stepped in to build a new microservices architecture from scratch on Go and Python.

Integrated single sign-on (SSO)

The integration of SSO challenged our team with the need to display different web designs based on the URL that the user initially accessed. We made all services talk to each other via a remote procedure call system, and the SSO functionality was designed to quickly take the user to the desired website in a user-friendly way.

SSO

Securely migrated data and passwords

Successful and secure data migration was vital as we were moving to a new architecture. The Mad Devs team meticulously tested each step so that tasks are performed seamlessly for users and the website’s performance under its content management framework isn’t affected.

We have implemented a new password algorithm and integrated it into Django. We have done many tests to ensure the quality of the password transfer.

Website speed boost

Website speed is a crucial indicator of successful project development. A slow website negatively affects users’ experience and results in a lower search ranking. From June of 2019 to the present, Mad Devs has created faster pages for Clutch.co.

Page

Directory

URL

https://clutch.co/jp/it-services

Location, connection type

San Francisco, CA - Chrome - Cable

Date
First Contentful Paint
Speed Index
Last Painted Hero
Full Load Time
Bytes
June 8th, 2020
1.233s
1.734s
2.200s
4.586s
459 KB
Sept. 30th, 2020
1.167s
1.535s
1.845s
3.457s
470 KB
Aug. 5th, 2021
1.149s
1.237s
1.385s
3.350s
659 KB

First Contentful Paint

1 second

Speed Index

1 second

Last Painted Hero

1 second

At first glance, the new website pages look identical to the old versions. As Clutch.co already had an established group of users, our goal was to build new architecture without interfering with the user experience.

Widget speed optimisation

Our frontend and backend developers not only made the appearance of the widget pixel-perfect but also refactored the widget. Thus, when Clutch users add a widget to their website, it has minimal effects on the page’s load time and looks just right.

Widget Speed

Three million rows of data processed by Clutch’s Statistics

Mad Devs engineers have developed Clutch.co’s Statistics microservice that gathers data for the internal and external intelligent decision-making process. Three million rows of data are stored in PostgreSQL.

Three million rows of data processed by Clutch’s Statistics

The Clutch algorithm continuously updates companies’ positions within different categories’ pages, directories, leader matrices, etc. The Statistics service collects such data to provide companies with a broader picture of their performance in comparison with their competitors.

Clicks and views come from various Clutch pages. Companies can determine in which categories they are more popular and have a competitive advantage.

Data for internal decision makers

Clutch widget instalment rates in real time. Also, the list of all widget users whenever a customer deletes a widget. The Clutch algorithm continuously updates companies’ positions within different categories.

This data is used inside another SPM microservice. Sponsorship, in turn, is a microservice that enables Clutch’s revenue operator managers to control sponsored accounts and deliver the value of sponsored accounts to paid customers.

Geographical data repository

Essentially, the geographical database repository we developed is an interface for managing and editing data. Due to the lack of cost-effective solutions, Mad Devs engineers have decided to optimise expenses by developing the service from scratch.

The service gathers data like regions, cities, states/provinces, and postal codes from a user-editable geographical database. However, the extensive amount of data was filtered from 7M place names to 52K. Special scripts automatically update the database to keep it up to date.

  1. The service we developed improved the registration experience with the autofill of location-based inputs.
  2. Location-based taxonomy enables Clutch.co users to find vendors from a given point within a given radius.
  3. A user-friendly interface allows managing and editing locations.

DevOps engineers optimised Clutch.co’s infrastructure costs

Mad Devs effectively managed Clutch.co’s infrastructure costs by selecting cost-effective resources to fulfil the solution’s technical needs.

  1. Mad Devs migrated Clutch.сo microservices to Kubernetes, an open-source container-orchestration system for automating the deployment, scaling, and management of containerised applications. Essentially, this enables Clutch.co to provide cost-effectiveness and high scalability, as Kubernetes takes less space and requires fewer resources. Kubernetes autoscaling allows optimizing resource usage by reducing the number of unused nodes, and the use of spot instances allows reducing costs to up to 90%.
  2. Mad Devs automated and optimized TeamCity agents. Now, TeamCity launches and stops agents automatically, or deletes them after they’ve performed tasks. In the past, all non-performing work would continue, creating additional expenses.

Implemented CRM-connector

CRM connector is a service that connects Clutch with HubSpot, a popular CRM. The service allows Clutch managers to work in HubSpot with Clutch data to streamline such time-consuming tasks as data syncing and data sharing. With it, Clutch managers get access to accurate records that can be easily shared within the platform.

Implemented Ad Service

Our specialists implemented a service to use internal ads. The service uses a third-party API to sponsor campaigns represented with adblocks.

Mad Devs

Engineering your growth

Visit WebsiteMadDevs logo

Implemented Matchmaking and Shortlist

Mad Devs implemented Matchmaking and Shortlist to facilitate Clutch clients the selection of companies based on their requirements. Matchmaking is a form to be filled by a client. In the form, the client provides the basic information about the potential project to get the list of the companies that comply with the requirements.

Shortlist is a functionality that allows a client to choose the companies based on the client’s expectations and requirements and to save the data in a list.

Development workflow

Our workflow is thoroughly collaborative and transparent. The various tools we employ help us make sure that everyone on the team is on the same page, that tasks get properly tracked and finalised on time, and that issues are quickly spotted and resolved.

Workflow

DEV Workflow for Project DEV with UI test step

At Mad Devs, the use of the agile method is a standard way to maintain transparency throughout all company processes. Established development workflows and communication processes positively impact teamwork and help the team reach the above-stated goals. All information is stored in Jira, a task-tracking solution.

Pipelines and testing

Code of exceptional quality has been our primary goal in our work with Clutch.co. By meticulously testing each code element with unit, acceptance, and screen compare tests and by applying present-day approaches to development and deployment, we have provided exceptional flexibility in our delivery of a stable Clutch.co solution. To avoid downtimes and issues caused by new deployments, testing and staging environments in Kubernetes perfectly mimic production. Thus, all updates are made without any inconvenience to the end users.

Communication

A business always strives to effectively use their employees’ time and skills, even when they are 12 hours away. On top of the typical Slack communication, due to the social isolation required by the global pandemic, the Mad Devs team integrated online meetings to mimic a normal office setup.

  • Weekly video meetings with the CTO: Three times a week, the project managers and the frontend and backend developers take part in open video meetings with the CTO. Here, they report on the work accomplished, raise concerns, and share suggestions.
  • Weekly video meetings with multi-location teams: Three times a week, the project manager takes part in sync-up calls where she reports on ongoing problems and brainstorms solutions.
  • Weekly sprint planning meetings with team members: Due to the continuously growing team size, weekly sprint planning meetings were split into seven meetings of smaller teams to improve communication effectiveness.
Clutch: Safari Browser Top Bar.Communication

Automated daily standups

Comedian is a Slack bot that enables all stakeholders to track the developers’ daily progress on tasks. Every day, Mad Devs team members provide written answers to the following basic questions:

What did I do yesterday?

What will I do today?

What problems do I have?

This solution enables Clutch.co to clearly understand what each team member is doing and quickly solve emerging problems.

Standup

Objectives & Key Results

Objectives & Key Results is a method that unites everyone and puts the focus on achieving the desired result. Regularly, project managers broadcast OKRs during weekly meetings and within automatically scheduled Slack notifications.

OKRs show whether the team is achieving established goals on time and ensure frequent evaluations of progress.

Clutch Go Layer

OKR1: Optimized performance of the CGL Directory pages
Status (Done / In
Progress, %)
KR 1 First Contentful Paint less 1 sec
Done
KR 2 Speed Index ~ 1 sec
Done
KR 3 Last Painted Hero ~ 1sec
Done

Reports

Accurate reporting is a crucial element in the fostering of quality communication in the outstaffing model. In the Clutch.co project, we provide sprint demos and monthly reports. The monthly report is essentially a document with a detailed description of all tasks accomplished within a specified timeframe. It also describes the roadmap. Sprint reports describe workload per person and their story points, velocity and sprint burnout, number of tests, and the potential risks that might lower the team’s productivity levels.

Technology stack

  • HTML

    HTML

  • CSS

    CSS

  • Webpack

    Webpack

  • Bootstrap

    Bootstrap

  • jQuery

    jQuery

  • JavaScript

    JavaScript

  • Go

    Go

  • Python

    Python

  • Django

    Django

  • gRPC

    gRPC

  • Pytest

    Pytest

  • Selenium

    Selenium

  • Allure

    Allure

  • TeamCity

    TeamCity

  • AirFlow

    AirFlow

  • PostgreSQL

    PostgreSQL

  • Kibana

    Kibana APM

  • Sentry

    Sentry

  • Grafana

    Grafana

  • UptimeRobot

    UptimeRobot

The website's performance and reliability have improved as a result of the efforts. Mad Devs has integrated smoothly with the partner's team and helps them build more tools. They maintain effective communication and implement an efficient project management style.
Stan Misiurev

Stan Misiurev

Head of Technology Clutch