Data Science

A Gentle Introduction to Generative Adversarial Networks (GANs) with Marketing Applications
Have You Ever Found Yourself in the Following Situations? You have to list your products online but...

Maximising Your A/B Test Outcomes with Multi Armed Bandits
Traditional A/B testing has stuck around for decades and is an important tool in a marketer’s toolkit,...

How to Analyse Marketing Surveys – Part 2
In our previous blog post, we analysed survey data using univariate analysis. We explored each survey question...

How to Analyse Marketing Surveys – Part 1
Marketers are faced with a deluge of data to deal with in their daily routine. Quite often,...

Building a Smart Auto-Responder for FAQs
This article is co-authored with Lalitha Duru and Avneesh Sharma. Generally, humans need answers to their questions...

Is There a Golden Frequency Cap Number of Messages?
Effective messaging campaigns are an important part of a successful customer engagement and retention strategy. They include...

My Product Design Internship Experience
This post was contributed by Vaidehi Vartak. From March to June in 2021, I interned at CleverTap...

7 Principles I follow to Design for the Enterprise
While working in a company, especially a larger team or an organization that’s beyond the early-stage startup...

Designing The Future Of CleverTap: A Q&A With Our Head Of Design
As our platform evolved over the last six years to respond to market needs, its tools grew...

What is UX Writing? Lessons from Writing for an Enterprise SaaS Product
It’s been over 6 months since I’ve started writing for a B2B enterprise product — CleverTap. Having...

Creating a CI/CD Pipeline For Android SDK Using GitHub Actions
We recently incorporated a CI/CD pipeline in our core Android SDK, and it has given us significant...

Supercharging Maven Surefire with SuperTest
This article is authored by Rishabh Arora and Sanidhya Vijaivargia, and Jude Pereira. Having a large number...

Automate Releases to Maven Central via GitHub Actions
After a long hiatus from maintaining the CleverTap/apns-http2 repository, some foundational work was required: switch to publishing...

Using dd, iostat, iotop, and blktrace to Discover a Bug in the Linux Kernel
With a recent redesign, we gradually transitioned our in-house analytics database to run on Graviton. This has...

Moving from SSH to SSM for Automation
We've come a long way since the last time we recaliberated our architecture. We're now ISO 27001...

Using Java’s Security Policy to Block Internet Access for JUnit Tests
We have a relatively large Java code base (387K LOC as reported by our SonarQube installation), written...