ror dev golang dev contact us
The Reiter Group

Legacy code refactor & MVP delivery for CloudTask marketplace

  • Team extension
CloudTask screen
about

The Reiter Group operates the leading B2B marketplace, CloudTask, which connects companies with sales agencies based in Colombia, independent professionals and smart sales tools. CloudTask allows SaaS and tech businesses to scale without having to build an in-house sales team.

duration

june 2024 - may 2025

location

United States

industry

outsourcing &
offshoring consulting

team
  • 2 full-stack developers
results
  • Streamlined

    the codebase by eliminating duplication

  • Improved

    maintainability with shared modules

  • Delivered

    a launch-ready MVP

  • Increased

    up to 70% performance

challenge

code complexity & maintainability issues

Code analysis showed a health score of 80.37% – acceptable, but far from the recommended 90%+ that keeps long-term development costs under control. Controllers, mutations, and queries had high complexity, which made it difficult to read, understand, and safely modify the code.

extensive code duplications

The codebase contained around 78 duplications in the main branch. This raised the risk of inconsistencies and regression bugs – a fix applied in one place could be missed in another. This also increased the complexity of the code, resulting in higher maintenance expenses over time.

database technology mismatch

The system relied on MongoDB, a database well-suited for flexible data structures, but a poor choice for this project's needs, which included strict ACID compliance, complex SQL-like queries, and high data consistency. Consequently, the system suffered from slow response times, particularly for complex queries, some of which took over 4.5 seconds.

violations of SOLID principles

Business logic was often handled directly inside large methods rather than in dedicated service classes. This made the code harder to test, extend, and debug. The lack of clear separation of concerns reduced overall maintainability.

inconsistent background job processing

The project contained both jobs and sidekiq folders, with overlapping responsibilities. This inconsistency made background task management harder to monitor and troubleshoot.

insufficient automated testing

The backend and frontend both suffered from a shortage of tests. This limited the team’s ability to confidently release updates, as undetected bugs could slip into production and impact critical business functions.

frontend performance & security issues

The frontend included large libraries that negatively impacted loading performance. Outdated and vulnerable NPM packages increased the risk of security breaches. The simultaneous use of TypeScript and PropTypes resulted in redundant type checking, offering no additional value.

solution

refactored complex code for clarity and speed

Complex, hard-to-read code blocks were broken down into smaller, maintainable service classes. This reduced the risk of errors, accelerated feature delivery, and allowed the product to adapt to market demands faster.

removed code duplications to cut maintenance costs

About 78 duplicated code fragments were consolidated into reusable components. This streamlined maintenance, reduced development time, and minimized the chance of introducing inconsistent changes.

migrated from MongoDB to PostgreSQL for performance gains

Switching to PostgreSQL improved handling of complex queries and ensured compliance with strict ACID requirements. The result was significantly faster page response times and higher PageSpeed Insights scores, positively impacting conversion rates.

restructured business logic into service classes

Business logic was separated into dedicated service classes following SOLID principles. This made the system easier to test, more predictable, and faster to enhance with new features.

unified background job processing for stability

Background task processing was streamlined into a unified structure, which reduces error risk, improves execution speed, and simplifies support team operations.

introduced automated test coverage enforcement

Automated test coverage checks were integrated via GitHub Actions. Every new change now goes through strict validation, reducing production bugs.

fixed security vulnerabilities & updated dependencies

One critical and nine high-priority vulnerabilities were patched, and outdated libraries were replaced. This strengthened the platform’s security.

optimized frontend performance

Heavy and duplicate libraries were removed and replaced with lightweight alternatives. This sped up page loads – a key factor for retaining new visitors.

implemented server-side rendering for faster content delivery

Server-side rendering ensured instant loading of key pages, improved SEO rankings, and increased organic traffic.

built core MVP functionality for market launch

Developed essential features – user profiles, settings, search, and filters. This allowed the client to launch a functional product and start generating revenue.

created advanced matching & similar listing system

Implemented algorithms for matching partners based on multiple parameters (location, language, skills) along with a “Similar Listings” feature to increase engagement and repeat visits.

implemented SEO optimization for better visibility

Added meta tags, structured data, and optimized page markup, resulting in better indexing by search engines and growth in organic, high-quality traffic without additional marketing spend.

delivered features

  • legacy code refactored, duplications removed
  • migrated from MongoDB to PostgreSQL
  • business logic restructured into service classes
  • unified background job system
  • automated test coverage enforcement
  • fixed critical and high-priority security issues
  • optimized frontend and reduced bundle size
  • server-side rendering for speed and SEO
  • core MVP: profiles, settings, search, filters
  • advanced matching & Similar Listings features
  • SEO optimization with meta tags and structured data

technology stack

backend icon
Backend
Ruby on Rails GraphQL Elasticsearch MongoDB
frontend icon
Frontend
Next.js Apollo Client GraphQL Ant Design TypeScript
Integrations icon
Integrations
HubSpot (meeting scheduling)

communication

Regular communication with the client was maintained through Slack for quick updates and daily coordination, Google Meet for scheduled discussions and live demos, and Asana for structured task management and progress tracking.

Tools
  • Slack icon
  • Google Meet icon
  • Asana icon

result

The team successfully delivered a stable and scalable MVP by refactoring the legacy codebase, migrating to a more efficient database, reducing technical debt, and implementing key features such as advanced search and user matching. These improvements enhanced system performance and usability, which enabled the client to accelerate market entry.

estimate your project

Roland  Masiazhyn, Business Development Manager

Roland Masiazhyn Business Development Manager

Rating of Rubyroid Labs 5.0
based on reviews of customers