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.

bonami logo
Business
For developers

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.

Successful launch for B2B and B2C markets

Roll out to eight European countries (and counting)

Delivery of impactful features, while steadily reducing technical debt and improvements in both scalability and reliability

Reliable infrastructure able to withstand marketing campaign with millions of impressions

“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.

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 teambehind it could grow. We switched to the hybrid teams model - we work the same way internalpeople 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.

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, e.g. when they want . To make sure develop some new features will be delivered without having a proper technical base for them in place, without proper strategy or within an impossible realistic time schedule. Another field of our expertise has been in QA, automatic tests we’ve developed, and also 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”

Services

1

CTO as a Service

scale the development team; hire client’s internal developers

manage development teams; ensure efficient dev processes

scale the development team; hire client’s intermanage technical aspects and infrastructure qualitynal developers

technological design and vision of core product

2

Hybrid teams

full alignment between internal and external teams

knowledge and experience sharing

cross functional teams — frontend + backend + design + QA

3

DevOps

complete management of infrastructure (AWS, Kubernetes, GitLab, Postgre, ES…)

consulting on decision-making around tools and technologies for concrete use-cases

support developers with their needs

cost optimization of infrastructure

4

Product management

scalestrategic product leadership the development team; hire client’s internal developers

develop product roadmap and gain consensus from key stakeholders

manage stakeholder expectations

offering technical solutions for business problems

conduct user research

manage the product delivery - set priorities, formulate specifications

equal partner to marketing and commercial department

build a customer-oriented company culture

The Story Continues

Carvago has plans to revolutionize how used cars are sold online, and are 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.

Software Development hero image - monitor

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.

bonami logo
Business
For developers

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.

Successful launch of carvago.com in the Czech Republic

Expansion to Slovakia, Poland, Italy, Austria and Germany, with adjustments for each country

Complete monitoring of the whole ecosystem with Datadog & PagerDuty

Installation of industry standard libraries with functional components and hooks

Scaling of dev team from 1 developer to 30 people

Introduction of automatic testing (regression tests, smoke tests, e2e tests, jest tests)

Improved indexation and SEO

Delivering the system which could handle the fastest growing car marketplace in the middle/east Europe

Jakub Kohout - CO-Founder

“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 releasecommit was due in just two weeks!

The Technologies

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

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”

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 hero image - monitor
or
...your career.
Check our job openings
By clicking “Accept”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.