QED42 collaborated with Grofers to work on an initiative to design a CMS solution for the Marketing team to control the layout, content, and widgets on the Grofers Mobile apps.
The objective was to enable these teams to operate independently and to allow the Grofers engineering teams to focus on other tech initiatives.
This project was commissioned as a proof of concept (code name: Layout Engine) and graduated to a full project within 3 weeks!
We are very proud to be working alongside a team of true experts who understand all aspects of our projects and execute with quality results. This greatly reduced the tech involvement for every simple change and helped us achieve the digital modernization that we truly aim for!
Dependency and Lost Productive Hours
Grofers marketing and category teams used to depend on the engineering team for widget controls, running A/B tests and various other tasks that could be self-service and better managed by themselves. This affected productivity of both teams!
Native App Integration
As the CMS work directly impacts the App experience and in turn primary user experience of Grofers. It was crucial that the integration must not affect the Performance, Aesthetics & UI Integration with Native elements.
The solution needed to be flexible to accommodate advance marketing needs - personalise experiences, running A/B Tests, segmenting content/offers and enable integration with the rest of the Marketing Tech stack like CleverTap, etc.
Grofers App is powered by complex, distributed, cloud infrastructure with many moving parts. Our first step to scope the effort was to understand the engineering infrastructure that powers the app and analyze the risks. After a couple of meetings and Q&A, we presented our solution and a demo that exposed a JSON that could be consumed by Mobile Apps. This instilled the confidence to commission a proof of concept to validate core integration with the app.
Proof of Concept
The second stage was to check the core integration and see if we face issues in basic integration. For this, we chose banners and a couple of simple widgets on the app to be controlled by a CMS. Three weeks into the proof of concept, we were much more confident of being on the right path.
We needed a RESTful Application framework with core CMS skills like authoring experience, access control, etc. We chose Drupal for Rapid Application Development and robust CMS competencies. Drupal 8 being RESTful from the ground up, made integrations very straight forward and we could employ Decoupled Drupal paradigm to its full potential.
Once we validated our POC, rather than taking a full backlog approach and defining ultimate scope it made more sense to align our sprints to business events and short term team needs. For instance, we focused on just performance around GOBD — Grand Orange Bag Days, Grofers bi-annual black Friday sale equivalent, this approach allowed us to test our solution very quickly in real-time situations.
Why Decoupled Drupal?
Drupal 8 was chosen primarily for its CMS, RESTful, and rapid development capabilities. Drupal’s role-based access, easy and robust 3rd party integrations, caching mechanisms, and its flexible architecture allowed for deeper integrations as a provider and a consumer in the Distributed architecture. We were able to get the best of both worlds with Decoupled Drupal.
Key Technology Highlights
Reusable component Library - We built a component library using the paragraphs module for the marketing team to pick and choose from. They are now able to drag any component, customise, and preview the impact. Once satisfied, they were able to publish these changes directly to the app. This component library made Marketers work very easy and also standardized markup and scheme for the app.
Content Moderation - Risk mitigation with a moderation workflow and revision based system, ensuring configuration mistakes could be tracked successfully and rolled back with a single click.
Performance: Custom Caching Strategy with deep CDN integration for all assets.
Widgets scheduling & Segmentation - This empowered the marketing team to schedule a widget, product, campaign, or a promotion well in advance. The CMS also allowed personalizing the experience by allowing for variations per user cohorts.
Webhooks to integrate with other Systems - Webhooks to post data to various Grofers endpoints on creating and updating a layout.