The core business model of OnnoPlus is they sell review removals for different social platforms, Google being the most requested one. Essentially they help businesses keep a good online reputation by removing certain (mostly negative) platform reviews.
At its core, the OnnoPlus CRM is a system for managing customers, their orders with requested review removals (each one having a lifecycle of status transitions to complete), and everything related to invoicing. This setup however quickly grew once we created a service that automatically scrapes the customers’ online reviews on whichever platform they use. It made order creation automatic (up until now, reviews needed to be manually added one by one) and let us automate lead generation for new potential customers with pre-made offers based on their current reviews.
At the time of writing, the project is still ongoing.
Customer and order management - The system should allow users with different roles to create customers, orders, change order status based on strict criteria, issue invoices that comply with the German tax system and correspond to our order status, send and receive emails, initiate calls directly from the system.
Reviews service - Create a service that initiates review scraping on a specified platform out of 30+ and persists this information per profile. This service also automatically re-scrapes on a specified time frame to keep an actualized state.
Generate Leads - The system should provide dashboards for potential customers and allow Sales Managers or other specialists to establish an automated process to reach out to as many leads as possible in a limited timeframe.
Aircall and Gmail integration - All the correspondence activity of the users can be initiated from the system, or, when used independently, must be synced up automatically.
Custom-built Email templates - For many of the repetitive cases, templates were needed with pre-attached documents and custom pre-defined receivers.
Internal task management - A possibility for each user to initiate and get reminders of particular tasks regarding customers, orders, or leads.
Statistics - Everything that can be tracked, must be tracked. User activity (calls and emails), sales, review removal rates, platforms, lead and customer win/lost rates, commissions, status transitions, and many custom metrics.
Customer Newsletter - Customers can subscribe to a monthly newsletter that aggregates all the reviews they received in the past month on all of their platforms in a single email.
Flexibility - The architecture must allow for dynamic changes, like changing of invoicing policy or adding new order products that may have a completely different lifecycle. Also, the system should allow for easy integration with third-party services.
Initially, the client had worries that their processes might be too complex to describe and code in an adequate timeframe. They already had a system developed by another team that was not up to their expectation and we were supposed to start from scratch.
We went over a couple of weeks of discussions to understand exactly what they needed and get involved in their workflow. This helped a lot and within two months of development, we managed to deploy the first stable versions they could test by running through the functionalities and giving feedback so we can continue building up from there.
In the fourth month of development, they switched from the old system to the new one.
Kanban methodology was used while developing the product, adopting Linear as a tool to organize features, bugs, backlog ideas, and tasks on a bigger schedule. New features were uploaded to a staging environment as soon as they were implemented where the client could give feedback. This greatly sped up the process and increased the effectiveness of the communication.
For the scale of the project, our team chose a great variety of tools that proved both fast to work with and to allow high-quality maintainable code.
For our back-end services, we used Apollo GraphQL servers that allow for easy type management and are self-documenting in that regard.
The database of our choice is PostgreSQL because of its rich features and we use Prisma ORM which makes really intuitive to model our DB structure and manage migrations.
Jest is used for testing our back-end services.
For our front-end, we use React with Apollo Client state management and Tailwind UI framework.
Our jobs service uses Agenda, which is a lightweight job scheduler that works great with bigger volumes. The UI is our own open-source Agenda Admin Dashboard.
We use Docker for building and deploying our services.
Our main third-party tools are Mailgun and Gmail for mailing and Aircall for calls.
From the time the CRM got published in its initial version up until now, the company moved steadily from one milestone to the next. In this section, I'll share some of the numbers and achievements.
At the time of launch, their team managed to easily import all their data (4743 Orders from 2979 Customers) they had accumulated up until then while using their older system. From then on the stats show that:
OnnoPlus added 2743 more Customers and handled 7732 more Orders.
In percentage, the sales increased by 210% in the first year.
The database we built with leads for the sales team to contact currently has 5,1 million businesses in Germany and Austria alone.
The company is the clear Nr. 1 in Germany for Review Removals, having reached 50 000 successful removals so far.
This project was a blast to work on - from the beginning we had great chemistry with the client. Being an ambitious and young start-up, the philosophy they wanted to follow was "Move fast, break things early".
We had very short development and feedback cycles with lots of adjustments, discussions, and proof of concepts, which made our work highly flexible and lean. In the end, iteration by iteration, we managed to reach all of our goals, and OnnoPlus is predicted to have an even more successful 2022.
No one can scale like us! We have generated over 5 million leads that our sales team can contact. 9 months ago it took us 2 days to initiate a large order with 200 review deletions - it now takes us less than 5 minutes!
Walter Klaschka – Business Development, Onno Plus GmbH