Note: The work discussed in this project is from 2019-21.
She wants to tell them that Blue Gamma was more right than it knew: experience isn’t merely the best teacher; it’s the only teacher … experience is algorithmically incompressible.
– Ted Chiang, The Lifecycle of Software Objects
Unless you have been living under a rock, you have heard about generative AI. Even my grandparents – who still use a non-touch screen phones – know about AI artists. They saw the “paintings” on TV.
You can create art, write an entire book, or even have a thought-provoking conversation with an AI today. Generative AI’s applications in content creation are massive, and we created a much simpler version of the same platform at Flipkart back in 2019 before GenAI existed in the mainstream.
The “auto-content” platform was appropriately named Morpheus after the God of dreams. For an e-commerce platform that is visited by more than a whopping 10 million users daily, auto-generated content would mean several benefits:
- Personalisation of content for users so they see relevant and useful recommendations and ads (68% of smartphone users are more likely to purchase when they see relevant recommendations)
- Increased discovery for the more than 80 million products listed on the Flipkart website
- Saving person work-hours used in designing the same redundant creatives for different products and categories or in different languages
Let us talk some rough numbers. If you look at the Flipkart homepage (images below), you would notice more than 100 different banners (internally called “creatives”). Each creative would take anywhere between 5-15 minutes to create manually by an efficient designer, depending on whether they are making it from scratch, replacing elements in the same template, or creating a new template.

If every person who visited Flipkart saw the exact same homepage, we would need a minimum of 100*10 = 1000 minutes of design work on average just for a day – this comes to a minimum of 16 hours.
Now, imagine if we had to personalise 50% of the content for each of our user groups and 10% of the content for each person individually. This would more than quadruple the design effort per day.
On top of this, designers had to manually give details of the creatives they upload to the system to share parameters (such as category of product) which helped the system in ranking content on the page.
Automation removes all of these problems in one clean sweep. You can feed pricing signals, competitive intelligence, business goals, and personalisation parameters to pick the right products from the entire catalog of Flipkart, match it with the right template for the creative, calculate the best position and timing for displaying that creative for different users, and build a robust feedback loop to optimise the entire pipeline based on performance data. Social media already does this with Ads, and there are big opportunities for this e-commerce for merchandising, marketing, and advertising.
If people like the content you display (i.e., if they buy the products they see in their feed), then the platform automatically learns which values of parameters work best with which user groups. It is a win-win like never before: users do not see redundant recommendations and our products reach the right audience.

The image above is a simplified representation of how our content generation engine worked.
- Product Collection Rules: Define rules based on which “collection” of products will be generated. When the user clicks on your final creative, they will be redirected to a page containing all the products in the collection defined here. The ability to define collections intelligently ensures that we allow discovery for newer products while also rewarding higher quality products and account for seasonal and local trends. For example, one rule could say “pick latest shoes by puma, nike, and adidas for women that are currently on a discount above 30%” and be displayed to relevant user profiles.
- Creative Generation: For each collection, several creatives will be generated. For example, we may generate the same creative in English and 5 other regional languages. We may also experiment with different templates, text, and images and check which templates perform the best. For example, for a collection of products that includes sportswear on discount, we may display Puma shoes in the creative for one user and Nike shorts for another, depending on what they are most likely to buy. We utilised image processing to remove background for our catalog products and defined text templated to arrange everything on different relevant templates to be displayed.
- Personalisation & Ranking: Now, we match the right content to the right user. We will also decide whether to show the content at the top or somewhere else on various pages. This is called ranking.
- Feedback: Finally, the product collection rules, templates, and ranking rules that do well are rewarded. This optimises the entire pipeline and the process repeats itself.
We realised something important in the process. Our platform can only be as good as the engineers that train it and nudge it in the right direction, our content creation rules will only be as good as the the experience of our merchandisers and their view of the world of e-commerce, and our creatives will only be as good as the template elements and feedback mechanism build by our design and ML teams.
The best humans build the best AI.
Meanwhile, here is something fun to end this post: I asked in a detailed prompt. The results:

