Project Overview
With a vision to streamline their marketing campaign management process, our client sought to develop a new backend service, allowing customers to efficiently input campaign details such as budgets, duration, and target locations.
The client aimed to modernize their infrastructure by rewriting three legacy microservices using Vert.x, Kotlin, and Spring Boot technologies. Initially, our team was made up of two backend developers and three frontend developers for the service, with the frontend built using Typescript and React. To bolster our efforts, the client’s platform team provided crucial support with AWS, Kubernetes, CI/CD, and security aspects throughout the project’s duration.
Industry
MarTech
Initial Go-to-
Market Timeline
10 months
Tech Stack
Team
Composition
Client Background
The client is a global leader in digital solutions for destination marketing. With a mission to revolutionize the way travel brands engage with their target audiences, operating one of the world’s largest travel ad networks, giving access to over 100 million travel shoppers monthly. Their direct publisher integrations circumvent ad exchanges and ensures destination-specific targeting and maximizes engagement rates across large-format ad units.
Facilitating over $1 billion in annual bookings for advertisers, the client leverages its expertise and market insights to introduce innovative solutions to destination marketers. This case study highlights one of the several projects within our ongoing partnership, showcasing how our collaborative efforts drive value and success
The Challenge
The project spanned four months for the development of the service and six months for rewriting the three legacy Vert.x services. Adopting a lightweight Scrum approach, we conducted two or three daily meetings per week, held retrospective meetings post-sprint, and engaged in refining sessions prior to each sprint. Furthermore, our workflow included rigorous code reviews, ensuring the quality and coherence of our deliverables.
Since we already had a design to follow, we implemented it using a modern stack. We had to develop an internal Spring Boot template leveraging the libraries and tools we needed for the final solution.
Despite leveraging an OpenAPI specification, our implementation journey often required iterative refactoring to enhance and address issues within our API. As collaboration between the front and backend teams progressed, certain features necessitated rewrites to meet evolving requirements and optimize performance.
While we possessed the capability to suggest alternative technology stacks, the predetermined stack by the client remained unchanged throughout the project’s duration. However, for solutions characterized by: