Taddy is the biggest outdoor advertising platform in Estonia. Through it, you can find all outdoor media conveniently in one place and also buy advertising space through the platform. Taddy helps to plan marketing in a more efficient way and offers true and transparent statistics.
The purpose of Taddy web platform is to save the time spent on preparing advertising campaigns. The idea is to consolidate all necessary channels for arranging the campaign. At this point, Taddy focuses on outdoor advertising, however future plans also include incorporating other advertising channels (such as print, radio) into the platform smoothly.
To develop the platform, the customer had meetings with different software development companies for potential cooperation. Software development company AgileWorks caught the eye with its attitude “Let’s do it!”. Unlike the others, we were focused on ingenuity of the solution instead of searching for obstacles. Our job was to help develop the web platform Taddy according to the customer’s business idea and input.
We started software development from scratch and used agile principles. The customer was able to follow the development process through the environments and give immediate feedback during the entire development process. Weekly meetings, which helped us to consider the changed wishes of the client and feedback were very useful.
The first step of the project was to build up a backlog of primary user stories. Once the user stories had been compiled, we evaluated them and prioritised with the client. Upon prioritisation, we tried to identify the most important and the most extensive use cases that would be in first place in the development process. The most critical and significant issue of the Taddy application was the search for advertising spaces, which will be the main tool for app users to run campaigns. Thus, during development, we concentrated on the search for surfaces and designed the model particularly on this basis. We managed to find a very elegant and scaling model, which enabled us to manage a relatively complex logic around the surfaces (changing prices, discounts, reservations, etc.), including to carry out extremely quick searches on their data. The development of the following use cases was based on the model established in the first use case, while extending it at the same time.
In particular, the application is a tool designed to provide the user with the best possible experience in compiling their own campaigns, which is why we decided to build it as a so-called single page application (SPA). The end result is a very responsive, smooth, and playful user experience, which cannot be achieved as a traditional web application.
As per the technical side, we considered different technologies and frameworks. We decided to develop the customer part on the VueJs framework. This was a thoroughly considered and successful option since VueJs allowed us to quickly and easily achieve our goals. The customer code was developed with TypeScript, the server part was developed in C# language on the cross platform .NET Core framework. The benefits of this framework are its speed, security and modernity. Given the nature and needs of the application, the choice of database was crucial. We chose between PostgreSQL, MS SQL Server, and Elasticsearch. In the end, we decided to use the free, secure, up-to-date, and secure PostgreSQL database. It covers all of the Taddy application's data management needs. For the search part, we planned to use the powerful search engine Elasticsearch. However, it already appeared in the first phase that due to the search specifics and the effective data model developed by us, Elasticsearch was not actually needed, and we had less dependence on the application side. The Taddy platform was developed as a cloud application, hosted as a high-performance Azure App Service, and the Azure PostgreSQL server service is fully deployed as a database. All binary data is stored in the Azure Blob Storage service. The development was also greatly supported by the Docker platform, which made it very easy to manage dependencies. Even the application's continuous integration build is carried out through the Docker Compose configuration, which was configured with the exact dependencies necessary for the application.
In the development process, we followed the principles of TDD and DDD, which allowed us to move forward quickly and courageously, while also ensuring the sustainability of the development. We made deliveries as often as possible, and the first tangible solution reached the customer after the first week. This was very useful, as it allowed the customer to provide a valuable input for subsequent developments.
Agile software development is flexible and responsive to the ever-changing business needs of the client, but one should also be flexible regarding the vendor, i.e. the developer. In order to ensure smooth operation and good quality, it is important to have trust between the customer and the developer.
The customer finds that the cooperation was successful, because we did our work in a professional and quick way, and understood the wishes and business needs of the customer. With regards to the software developers of AgileWorks, the customers liked their continuous and direct way of communicating, which contributed to a better understanding of each other.
Our price and time offer were based on a logical approach and calculated with the input given by Taddy. For a customer, agile software development is more forthcoming than the traditional method. It gives the customer the opportunity to monitor the process on an ongoing basis and also change their ideas as needed.
We started development of the Taddy web platform in April 2018, and according to our principle of agility, the customer received the first priority deliveries after the first week. The customer was thus able to test its new ideas, make changes and improvements in time. Additionally, quick deliveries gave the customer an opportunity to promote its business, i.e. to introduce the first versions of the platform to its customers. The development of the first phase has been completed to date, but we are still making changes at the customer's request, and we are also preparing for a possible second stage.
The goal of our agile software development company has always been to create value for a wider public, i.e. the society. The purpose of software development was to automate classical advertising channels through the web platform, to bring the client and provider together quickly and conveniently, and to help save corporate resources (time and money). We developed a web platform to make businesses’ and marketing managers’ work more convenient. Thanks to the Taddy platform, advertising services can be retrieved from one place in the future.
The Taddy platform is available at https://taddy.ee/
Our cooperation with AgileWorks was smooth. The development team did its job professionally and quickly, and they understood our desires and business needs as a customer. Regarding AgileWorks software developers, we enjoyed constant communication, which helped to better understand each other and successfully reach the end result. If you need to create efficient and high-quality software and have the desire to have a say in development of the product, then the software development team of AgileWorks is the ideal partner for this.