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
1 million
monthly buyers
225,800 +
companies
104,300 +
client reviewes
Deloitte’s Technology Fast 500
LinkedIn Top 50 Startups in the U.S.
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.
- 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.
- Clutch provides a dedicated team that interviews real clients, collects data, and enables comparison against competitors to help users find suitable partners.
- 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.
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.
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
Built service-oriented architecture
Integrated single sign-on (SSO)
Optimised Clutch.co’s infrastructure costs
Implemented Matchmaking and Shortlist
Developed the Statistics service for intelligent decision making
Developed a repository for geographical data
Implemented a connector between Clutch and HubSpot
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.
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
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.
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.
- The service we developed improved the registration experience with the autofill of location-based inputs.
- Location-based taxonomy enables Clutch.co users to find vendors from a given point within a given radius.
- 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.
- 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%.
- 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.
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.
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.
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.
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
Progress, %)
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
CSS
Webpack
Bootstrap
jQuery
JavaScript
Go
Python
Django
gRPC
Pytest
Selenium
Allure
TeamCity
AirFlow
PostgreSQL
Kibana APM
Sentry
Grafana
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.