All case studies
Web Platform CTO-aaS

Carvago: Carvago.com: Building a Czech startup for the European market

Every startup strives to have the fastest possible go-to-market. Carvago, an online marketplace with used cars, was no exception. Initially, the company struggled to find developers for their product, but our team jumped in to provide knowledge, expertise, and the processes needed for market entry.

8 — Countries live
1 → 30+ — Team growth
< 6 months — Time to launch
TV campaign ready — Infrastructure
Carvago online used-car marketplace
Industry
Online Automotive Marketplace
Engagement
3+ years (ongoing)
Services
Software Development CTO as a Service
Technologies
15  technologies

Carvago.com: Building a Czech startup for the European market

Every startup strives to have the fastest possible go-to-market. Carvago, an online marketplace with used cars, was no exception. Initially, the company struggled to find developers for their product, but our team jumped in to provide knowledge, expertise, and the processes needed for market entry.

We built carvago.com and the base for the team and product growth. Carvago has launched in B2B and B2C markets in several European countries and counting, and we here at Cookielab are proud to partner with Carvago on their journey to change the used car market in Europe.

Jakub Šulta

“We had positive references for Cookielab, and we sought them out as a partner. I am happy to say they have fulfilled our expectations. Their team is very professional, knows the technology, and delivers a quality product.

It can be very difficult to find a software studio that can fully integrate with internal teams and own the project and responsibilities like Cookielab does. To know we can rely on them is important for us, and helps us every day. ”

Jakub Šulta
Co-founder & CEO, carvago.com

The challenge

Carvago turned to us in April 2020 with a straightforward request: take over the original code and all development, finish the product, and get it ready for launch. We had less than six months to manage everything – from understanding the original code without any documentation, status of already built-in features or a fully functional database, to building infrastructure. Our first mission was to do whatever was necessary ensure a successful launch.

Carvago platform visualization
Carvago used car marketplace

The solution

First, we had to solve the infrastructure issue. By trial and error, our DevOps team set up a new cloud environment, deployed, and made sure the application was running. Then we had to evaluate the state of the project and take over the development. At that time, there was just one backend developer in-house at Carvago, so we set up the product development from scratch. We hired the team and created the processes that would allow us to meet our launch deadline. Since the successful launch, we continue to lead on product management, DevOps and development.

With the basics in place, the product and the team behind it could grow. We switched to the hybrid teams model – we work the same way internal people would and the management does not feel any difference.

Our DevOps team is responsible for assuring the platform is running smoothly and can scale well, meaning managing AWS based infrastructure, making sure developers have the tools they need for effective work.

It also means managing data workflow and data migrations on a scale of TBs of data. This shows up as a critical task especially in time of an ATL campaign on TV, when the platform has to withstand a surge of tens of thousands of visitors at once.

Quality and product ownership

Our role is not just about delivering a product or new features. It's also making sure about their quality. Our role is to align business goals with development and to make sure new features are not delivered without a proper technical base, strategy, or realistic time schedule. Another field of our expertise has been in QA, automatic tests we've developed, and comparison of different variants of features and their prioritization. Only so the client can have the certainty the product is of highest quality.

“Our role is not just about delivering a product or new features – we also ensure quality”
Carvago development notebook

The Story Continues

Carvago has plans to revolutionize how used cars are sold online, and is set to continue expanding to more European countries. After the launch in 2020, our story with Carvago goes on – we are still on board for everything described above, and look forward to scaling the infrastructure, the size of the product development teams, and delivering a useful, valuable product.

Carvago.com: Enabling the Czech startup to enter the European market

All startups are striving for the fastest go to market possible. Carvago, an online marketplace with used cars, was no exception.

When the company was struggling to find developers for their product, our team jumped in to provide knowledge, expertise, and processes. With the need to build on code from the previous agency – not from scratch as we're accustomed to – it was not an easy task. But that's what we like.

Jakub Kohout

“Our choice fell on TypeScript, which enables us to safely rewrite larger parts of the application. We added runtime validation responses from API, and introduced industry standard libraries. The client got a modern React with functional components and hooks, and we reduced the giant root state for faster and safer development of new features. With regular automatic app updates, we gained access to new features speeding up development and performance for higher traffic.”

Jakub Kohout
Co-Founder, Cookielab and CTO as a Service at Carvago

The Technical Challenge

The client came to us without any documentation and with unfinished source codes and infrastructure (FE – Next.js & React.js, BE – PHP & Symfony 2, infra – Terraform 0.10). Our team needed to analyze quickly what was already done to develop further.

With infrastructure, we had no other option than to deploy & fail & repeat until success. The challenge were the processes or rather the lack of them. No tools, no processes, no monitoring was in place. Time to start building them as the first release commit was due in just two weeks!

Carvago technical solution

The Technologies

  • PostgreSQL
  • Kubernetes
  • Redis
  • Terraform
  • Node.js

The Solution

After analysis, we needed to set proper procedures for development. Our DevOps team got the infrastructure up and running, but mid-process we found out that a large part of the services were missing in the Terraform and we had to add them. Next, came product management, in which we collected requirements from key stakeholders, validated them against the actual state of the application and its ecosystem, and proposed priorities for development.

Next, we set up the development process with SCRUM methodology and Jira workflows to be able to scale the team. Then came the transfer from BitBucket to GitLab, and from ECS to Kubernetes – both of which improved the overall developer experience. Kubernetes was especially helpful for easier implementation of Review Apps, and better tooling for management, deployment and monitoring.

After putting out fires, we finally compiled the technological roadmap to stabilize development and deliver new features predictably.

“Our role is not just about delivering a product or new features – we also ensure quality”
Carvago development notebook

The Future

This case study details just the beginning of our cooperation with Carvago. Stay tuned for more details on web improvements – e.g. getting infrastructure ready for influx of visitors during nationwide campaigns, and user testing.

Software development monitor illustration

Let's talk business…

or

…your career

Open positions