Submitted by
Trinoco BV
The Case
Tools / Apps
Short introduction
Qeado is cloud based customer intelligence software for B2B companies. It identifies and tracks companies and contacts on your website, analyses social media data and provides integrations for your digital marketing channels in your Digital Marketing Hub.

The sofware provides enrichments to your data providing a 360 degree customer view. Start identifying new potential leads now!
Launch date
This is an internal Trinoco project. After visiting the Marketing Technology conference in 2015 we noticed only 86% of marketeers are using data to identify new business. As technicians we saw alot of opportunities to provide new insights.
* Compatible General Data Protection Regulation 2018
* Multi tenant
* Able to roll out the platform as white label
* Dynamincally Scalable
* Analyze all website traffic and on-site events.
* Anayze Social Media activity
* Provide web visitor identification and profiling.
* Provide marketing channel insights.

* Analyze 750.000 engagements per month.
* Identify 70.000 organizations a month.
* Identify 60.000 contacts a month.
* Provide new business for our customers.
Technical challenges
* Dynamically scaling the application
Some Trials instantly add 500.000 engagements per month. This has to be scaled. To do this we run on the Google Cloud with dynamic scaling based on docker and kubernets see https://hub.docker.com/r/trinoco/gcloud-drupal/

* Visitor identification
Reverse IP lookup, Cookie Tracking, Various public databases with IP / Device information, Hostname identification. Up to 7 algoritmes are used at the moment.

* Be able to provide Marketing insights using marketing automation.
The data is stored in a denormalized way with basic machine learning models in Tensorflow.

* Making the application White Label
The complete application can be easily distributed as white label, or agency account. The Application itself is SaaS but it's also easy to roll out new applications as white label by starting out witht he install profile.

* Saving 750.000 engagements a month as entity in Drupal has some complications scaling.
Default Drupal 8 comes with a ContentEntity and ConfigEntity. We had to create a custom QeadoEntity base Entity type to be able to handle all the load. In the future we also plan to work on a custom FieldStorage so we can save in Google's HBase data store.

* Privacy
The application has to be able to run compatible with the General Data Protection Regulation. This has challenges for storing data, decay of data and encryption. The Google Cloud provides functionality for this. We also needed the company ICT Recht to check our business.

* oAuth/ oAuth2 integrations
The application integrates to Mailchimp, Facebook, LinkedIN, Twitter, Salesforce and a number of integrations are being build. We needed a dynamic solution for integrating and use "league/oauth1-client", "league/oauth2-client" and Guzzle to able to connect to all kind of services.

* SaaS
Recurrining revenue with Drupal 8 Commerce was not available. We use Adyen as our payment solution.
Challenges in (combination of) modules
We started developing the application in december 2015 and Drupal 8 has been involving since. We had to adjust our application on several moments to comply to the standards. We use the following default modules:
address, chosen, block_class, swiftmailer, mailsystem, memcache, display_fields, email_registration, commerce, payment, currency, entity_print, token, imagemagick, image_effects, entity_legal, blocktabs, field_group, slack

But most of the functionality is used by combining libraries from packagist and custom code.
Contribution form the project to the Drupal-community
Docker image for the Google Cloud:

Some patches:
Name client
R. Muilwijk
What does the client think about the project?
As this is a internal project from Trinoco started as a new company Qeado BV we do not have actual client quotes.