Tushar Tayal
Swiggy Bytes — Tech Blog
4 min readMar 20, 2024

--

Building a robust mobile platform team

In the ever-evolving landscape of mobile development, crafting a robust platform and framework team is akin to laying a strong foundation for a skyscraper. As the demand for multiple business lines surges and the expectations of our users skyrocket, the need for efficiency, scalability, performance and maintainability becomes paramount. In this tech blog, we embark on a journey to explore the nuances of building a formidable mobile platform and framework team, the challenges encountered, and the strategies to navigate through them.

Understanding the Mobile Platform Landscape

Before delving into the intricacies, it’s imperative to comprehend the mobile platform landscape. The core philosophy is build once and use everywhere. With diverse tech stack, frameworks, OS and device types, catering to the multifaceted needs of users necessitates a systematic approach. Mobile platformization involves creating a unified ecosystem that streamlines development, ensures consistency across applications, and facilitates seamless integration of new features and updates. As a company, our core focus has been on improving dev efficiency, enabling speed of execution and delivering top notch user experience.

The mobile tech ecosystem at Swiggy has been constantly growing and we now support multiple tech stacks maintained by different teams across our various app offerings. To create a team that caters to the needs of a diverse consumer base, it is crucial to take a holistic approach in defining the problem statement and building scalable solutions.

Varied tech stacks used in Swiggy apps

Objectives of this team -

  1. Domain expertise
  2. Speed of execution
  3. Quality — enforcing best practices
  4. Reuse across business lines
  5. UX Zippiness (Our CEO says — “Make it like Makkhan”)
  6. Continuous research and development

Some of the core problems that we picked and solved as a platform team -

  1. DLS — We have DLS libraries built in native (Kotlin and Swift), RN and react.
    - Consistent design language across all pages,
    - Maximum reuse at a token level
    - Comes up with Pixel perfection
  2. KMM — The first step in this direction was to modularise our app based on separation of concerns. Then we wanted to move core business logic to multiplatform SDKs that can be reused across all apps. Some commonly used SDKs are -
    - Klytics — analytics SDK that powers all analytics events across apps
    - Location manager — Compass, Address defaulting, Location APIs
    - Asset SDK — content handling and optimisation logic
    - ARD Automation — common SDK that helps to validate analytics events
  3. Central CI/CD platform
    - Faster and parallel builds
    - Zero maintenance overhead with close to 100% uptime
    - Observability and insights for all apps
  4. Central content management platform — managing content handling for apps
    - Enforcing best practices for uploading and serving content
    - Tracking performance, usage patterns and cost management
  5. App security — detecting and fixing vulnerabilities in the app
    - Faster and parallel builds
    - Prioritising high risk vulnerabilities as P0 and fixing them
  6. Dynamic Widgets
    - Built on the philosophy of Server driven UI paradigm
    - Zero dev/merch ops effort required to build new widgets
    - Design and behaviour consistency by enforcing pre-defined templates
  7. Standardising observability and monitoring
    - Using the right tool
    - Standardising definitions of metrics across teams
    - Enforcing best practices to manage costs
    - One place observability for all apps zippiness monitoring
  8. UXZ benchmarking and CIs tracking
    - Benchmarking performance of all apps and taking right targets
    - Cross team collaboration and learning
    - Tracking goals at central level
  9. DevX -
    - Build time monitoring — observability and CIs
    - APK/IPA size analyser — measuring and optimising
    - ARD automation — automating the validation for all analytics events
    - Vital monitoring service — tracking core app vitals at release level
    - Build generator — creating quick builds with easy configs
    - Pre release perf monitoring — detecting performance bottlenecks
    - Lottie thumbnail generator and compressor — in-house tool

This team has had wide impact across Swiggy’s mobile teams guiding and helping teams adopt the latest and greatest. Some of the charters are documented as blogs

DLShttps://bytes.swiggy.com/swiggy-design-language-system-1ef9cca11186

Mediahttps://bytes.swiggy.com/media-on-swiggys-mobile-apps-e97452fceb3f

UX Zippynesshttps://developer.android.com/stories/apps/swiggy

Conclusion -

Building a robust mobile platform and framework team is not merely about assembling a group of talented individuals but fostering a culture of collaboration, innovation, and continuous improvement. By focusing on technical expertise, collaboration, scalability, quality, and continuous improvement, we can navigate the seas of mobile platformization with confidence and build mobile applications that delight users and drive business success. As technology continues to evolve, embracing agility, adaptability, and a customer-centric mindset will remain paramount in staying ahead of the curve in the dynamic world of mobile development. We are just getting started, and we will continue to learn and adapt for the better in the future.

--

--