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.
“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.”
Co-founder & CEO, carvago.com
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.
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.
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
Hybrid teams
full alignment between internal and external teams
knowledge and experience sharing
cross functional teams — frontend + backend + design + QA
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
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
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.
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.
“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.”
Co-Founder, Cookielab and CTO as a Service at Carvago
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!
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.
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.