RED
Building an Ad Tech product for one of the top US digital agencies
The client
RED is an award-winning digital creative agency whose mission is to develop marketing that people love and use. Founded in 1999, RED boasts a team of 100+ people and has collaborated with some of the world’s most renowned brands such as ESPN, Disney, Budweiser and Microsoft.
Country
USA
Industry
AdTech/MarTech
Type
Digital agency
The product
Velvet is a platrom that streamlines the process of building, managing, approving, and publishing digital ads.
Technologies
Django
Sanic
NodeJS
React
AWS
Docker
Swarm
The challenge
After years of supporting the marketing needs of its clients across the digital landscape, RED set out on a mission to gain an advantage over its competition by improving the process of building, managing, approving, and publishing digital ads. To do that, RED came up with a creative management platform called Velvet. All they needed was a skilled team of Python experts to make it a reality— Sunscrapers was ready to help.
Technology
Velvet is a SaaS web-based application focused on modularity and scalability. The entire project consists of one central, monolithic application and a number of smaller microservices.
Each part of the system is containerized using Docker in order to achieve reproducible environments, predictable deployments and ease of scalability. The main application backend consists of:
- A web interface
- Several relational databases
- A number of non-relational data stores used for caching and brokering messages
- A REST API
- An asynchronous task worker
- A background task scheduler
Every task that is deemed as taking too long to live inside the request-response cycle is queued for a task worker. Similarly, tasks that must be run at regular intervals (like data ingress for external sources) are queued for a worker by a scheduler service.
The major part of the engineering effort lies in building an open data model for Ad units. The main feature of Velvet allows users to define data schemas using a user-friendly interface and then populate and manipulate those schemas as easily as if they were defined in a relational manner for fast Ad building, approval, and publishing.
The most challenging part of the backend development is striving for technical excellence and system stability, all the while providing new features that meet the business goals of Velvet users.
Apart from the main monolithic module, several modules are built as microservices and integrated tightly with the entire system. Microservices are used where technologies other than Django are required for performance reasons (like Sanic or Node), and where independent scalability is required because of the amount of traffic those services are handling (up to 10M requests per day). Also, because some parts of the architecture need to live on machines isolated from the Internet behind a VPN for security reasons.
Duration
2016 - 2021
The solution
RED needed an experienced Python engineer to join their existing team and work remotely under the VP of Engineering. We assigned one of our senior full stack engineers who, starting mostly with backend assignments, soon contributed to the frontend and infrastructure parts of the project as well. In time, he became the technical leader of Velvet. The platform was officially launched in 2017 and has since become a huge success among its customers.
Engagement Type
Expertise
Results
Working together non-stop since 2016
6 major brands have used or are currently using the product
Working together non-stop since 2016
6 major brands have used or are currently using the product
Let's talk
Discover how software, data, and AI can accelerate your growth. Let's discuss your goals and find the best solutions to help you achieve them.