A company that provides native advertising services on various sites
DIGITAL TRANSFORMATION SERVICES
Internet & Direct Marketing Retail
During close cooperation, Computools's engineers stayed on the same page with the client that allowed to fully meet the necessary requirements. The result of this project was a ready-made platform that allows publishers, agencies and brands to create, execute and optimize a variety of digital advertising products including native, social, video and stories formats. The new platform helps the client to increase revenue and expand the customer base, and makes it easy to offer innovative digital advertising products.
Several key options we solved:
Implemented a convenient management system.
Added various publisher's tools.
Implemented features to reach several publisher's channels at once.
Business Process Automation
The necessity to solve small problems throughout the project
Implementing multiple solutions at the same time
High demand for the provided services
Extensive customer base
Ready plan and vision of the final product
Fast communication with the client
Our client offers the publishers exclusive business model: he has no competing media business and is completely aligned to the customer's premium, direct-sold business. It is the only technology solutions provider focused on scaling the distribution of branded content across channels and growing views. Founded back in 2008, the company is constantly developing, using modern technologies to predict and create the most successful model of brand promotion through the most used platforms and gadgets.
Their main goal was to design an exclusive platform for premium publishers to grow their direct-sold digital branded content revenue. To implement this task, the company needed the help of third-party developers. A team of professional and skilled developers of Computools complemented the internal IT department of the client and worked in close cooperation with their managers. This made it possible to solve emerging issues in a timely manner and correct tasks.
Digital Platform & Technology
Since there was an accurate vision of the final product, the technology stack was determined in advance and proposed by the client. Our developers have used the most optimal solutions within their extensive skills and knowledge of these technologies.
Python is a high-level, interpreted and general-purpose dynamic programming language that focuses on code readability. Python by nature has a very simple syntax. Having a smaller code requires less space, less time, and is well appreciated by coders, as the rework or correction also takes lesser time. The ability to develop applications and software quickly makes it suitable for startups, small, medium and big enterprises.
React is a simple and powerful UI library. React’s most important advances are the emphasis on components, one-way data flow, the Virtual DOM, JSX, and architecture that extends beyond HTML. React’s simplicity lies in that it makes it easy to declare user-interfaces in self-contained independent components. It hides its complex rendering engine implementation and exposes a simple component API.
MySQL is extremely powerful, secure, and scalable. And because of its small size and speed, it is the ideal database solution for Web sites. MySQL is an Open Source, high performance, feature-rich relational database management software, that can be used in various environments. It's feature rich and doesn't need too many knowledge to use at the same time. What is more, most of the tasks can be done in the command line.
At the beginning of work on the project, a convenient and thoughtful communication system is created. This ensures constant communication of all participants, distribution of tasks and quick resolution of necessary issues. In this project, Skype was used to conduct video meetings, Slack for internal communication of the team, and email to exchange information.
Such a communicative framework was very effective and allow to maintain the productivity of the entire team throughout the work.
Specially developed specification complements the project roadmap, allows to take into account all the details and requirements of the project, as it includes all the specialities.
Goal: to build an exclusive platform for premium publishers to grow their direct-sold digital branded content revenue.
For this purpose, we needed to complete several tasks.
Stages of tasks: 1. Development of a road map, dividing the development process into parts. 2. Definition of terms for each stage. 3. Implementation of the first series of solutions. 4. Testing and troubleshooting. 5. Implementation of developed elements of the platform. 8. Platform testing, troubleshooting. 9. Providing customer support for the platform.
Timely execution of tasks assigned to our team ensured that the entire platform would work properly.
We always carefully conduct the choice of developers for the team. Studied the client’s tasks and the skills of our developers, we selected the most experienced experts in the necessary fields of knowledge. This allowed us to guarantee successful cooperation on the project.
We always strive to use the skills of our employees to the maximum, increasing their effectiveness as specialists and team members. For this, we hold meetings where everyone can offer their idea, express an opinion or get the necessary advice.
Developer meetings are another way to improve skills and share experiences. Cooperating with different teams and on different projects, our developers acquire the necessary knowledge and hone their skills.
Brainstorming is one of the key tools for identifying ideas and solutions for a project. At such sessions, each participant can voice their ideas and take part in the discussion of the ideas of others. So we stimulate the creativity of our employees and give them the opportunity to fully develop.
At the end of the project, we try to get feedback from both the customer and our developers. This allows us to further improve the efficiency of the whole team, choosing new ways of cooperation or organization of work.
Internal Communication Flow
Close cooperation with the internal IT department of the client allows receiving answers quickly, contact with colleagues and exchange ideas. However, for this, it is necessary to properly organize a communicative system that would allow all participants to be aware of what is happening on the project and made it possible to quickly contact the necessary participant. On this project, Skype was used for video calls and working chats, Slack as a corporate messenger for the whole team, and Email for data exchange. The distribution of tasks and control over their completion was carried out in Jira.
Project Management Methodology
The main idea of Kanban is workflow visualization. It consists of creating a physical panel (Kanban board) on which you can visually mark progress. A kanban board may be shared by multiple teams or individuals. That is why it is perfect for the work of dedicated teams and close collaborations with in-house IT Departments.
Kanban is built on three ideas: visualization of the workflow; limiting the amount of the work in progress for the sake of efficiency; the tasks from the backlog go strictly one after another. Kanban is about pulling work rather than pushing it onto development teams. In fact, one of the core principles of the method is to limit the amount of work in progress. Team members don’t start working on new tasks until they’ve finished what they’re working on. Kanban practices emphasize the speed and efficiency of the development workflow to build and deliver value as fast as possible.
Mapping software development workflow helps team get an overview of who is working on what and, most importantly, why. Work gets visible to all involved stakeholders, collaboration and communication increase instantly.
Identifying project goals and tasks
Analysis & Exploration
Researching and analyzing the existing and ready-made solutions
Defining main restrictions and providing solutions for them
Identifying the main risks
Selecting basic architectural patterns and tools
Forming an application stack, work processes with VCS
Forming the main development guidelines
Interactive prototypes & Specification
Development of an interactive prototype
Choosing Project Management Methodology
Build Development Process
Calculating the number of project teams
Configuring the technological processes and interactions between roles.
Build The Team
Making the initial scope based on the specification and estimate, calculating the optimal number of specialists for each role
Adding executors to the team's core
Conducting an intro meeting
Development of a road map, dividing the development process into parts
Implementation of the first series of solutions
Implementation of developed elements of the platform
Testing & Stabilization
Developing a testing plan
UI & Unit testing
Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency