16px
When Multiple Tech Stacks Actually Make Sense: Lessons from PhonePe and Super Apps
ArchitectureMobile DevelopmentSystem DesignPhonePeSuper AppsTeam Organization

When Multiple Tech Stacks Actually Make Sense: Lessons from PhonePe and Super Apps

Why companies like PhonePe, Paytm, and Gojek intentionally run multiple tech stacks in the same app—and why your startup probably shouldn't try it.

December 27, 202515 min read

Introduction

If you've ever worked at a startup, you know the golden rule: pick one tech stack and stick with it. Having Flutter screens mixed with React Native and Kotlin is usually a recipe for disaster—a maintenance nightmare that makes every engineer cringe.

But what if I told you that companies like PhonePe, Paytm, and Gojek intentionally run multiple tech stacks in the same app? And they're not just surviving—they're thriving.

Here's why this "anti-pattern" becomes a superpower at massive scale, and why you probably shouldn't try it at your startup.

The Super App Problem

Imagine you're building PhonePe. You're not just building an app—you're building an ecosystem:

• UPI payments (millions of transactions per day) • Mutual funds investment platform • Insurance marketplace • Bill payments • Recharge services • Shopping features • Gold purchases • And 20 more services launching next quarter

You have 500+ engineers, organized into autonomous pods. Each pod owns a complete vertical—from backend to mobile to analytics. The UPI team has been perfecting their Kotlin implementation for years. The mutual funds team wants to move fast with React Native. The new insurance team believes Flutter is the future.

The question isn't "should we use multiple stacks?"—it's "how do we empower 15 independent teams to move at startup speed?"

The Modular Architecture Approach

Here's how these companies actually structure their apps:

PhonePe Modular Architecture and Design System
  • App Shell (Native Kotlin): Navigation framework, Authentication, Analytics layer, Design system
  • Feature Pods (Independent Modules): UPI Pod → Native Kotlin (Performance critical), Mutual Funds → React Native (Fast iteration), Insurance → Flutter (Cross-platform reuse), Shopping → Native Kotlin (Deep integration), Bill Payments → React Native (Shared with web)

Each pod is essentially a mini-app that plugs into the main container. They communicate through well-defined interfaces but are otherwise independent.

Why This Works at Scale

Not all features are created equal. Understanding when and why to use different tech stacks is crucial for success at this scale.

1. Team Autonomy = Velocity

When you have 50 engineers working on mutual funds, they shouldn't be blocked by the UPI team's sprint planning. With their own tech stack:

• They deploy independently • They hire specialized talent • They experiment without affecting others • They own their entire feature lifecycle

Result: Features that would take 6 months in a monolithic architecture ship in 6 weeks.

2. Right Tool for the Right Job

Not all features are created equal:

  • UPI transactions need maximum performance and security → Native Kotlin, battle-tested, zero compromise
  • Experimental features need rapid prototyping → Flutter/React Native, iterate quickly, fail fast
  • Content-heavy screens benefit from web technologies → React Native with web code sharing

Why force the insurance team to write native code when they could ship 3x faster with Flutter?

3. Acquisition Integration

Large companies acquire startups regularly. If PhonePe acquires a fintech startup built entirely in Flutter:

• Option A: Rewrite everything in Kotlin (6-12 months, high risk) • Option B: Integrate as a Flutter module (2-4 weeks, low risk)

The modular approach makes acquisitions seamless.

4. Failure Isolation

If the mutual funds module crashes, the UPI transactions continue working. In a monolithic app, one team's bug can bring down the entire application.

5. Specialized Hiring

Instead of requiring every engineer to know Kotlin, React Native, AND Flutter:

• UPI team hires expert Android developers • Mutual funds team hires React Native specialists • Platform team hires systems engineers

Everyone works in their area of expertise.

The Platform Team: The Secret Ingredient

Here's the crucial part most articles miss: this only works with a world-class platform team.

The platform team provides shared infrastructure, developer tools, and governance that make the multi-stack approach viable.

Shared Infrastructure

  • Navigation system that works across all frameworks
  • Common authentication and security layer
  • Unified analytics and logging
  • Shared design system components
  • Performance monitoring

Developer Tools

  • Module template generators
  • Testing frameworks
  • CI/CD pipelines for each tech stack
  • Documentation and best practices

Governance

  • Code review standards
  • Security audits
  • Performance benchmarks
  • Architecture decision records

Without this team, you just have chaos.

Real-World Examples

Several major companies have successfully implemented multi-stack architectures:

  • PhonePe / Paytm (India): Multiple verticals with independent teams. Started native, strategically adopted cross-platform for new features.
  • Gojek (Southeast Asia): 20+ services in one app. Different services use different tech stacks based on team expertise and requirements.
  • WeChat (China): Mini-programs architecture allows third-party developers to build features using their own preferred frameworks.
  • Airbnb (Pre-2018): Used React Native for specific features while maintaining native core. Eventually moved back to native, but the experiment taught the industry valuable lessons about when hybrid makes sense.

Why This Will Destroy Your Startup

Now, here's the uncomfortable truth: If you're not at PhonePe's scale, this approach will sink you.

You Don't Have the Numbers

Multiple tech stacks require:

  • 500+ engineers minimum to justify dedicated teams
  • Platform team of 20-30 engineers just for infrastructure
  • Dedicated DevOps for each tech stack
  • Specialized recruiters for different skill sets

Your 15-person startup can't afford this.

The Hidden Costs

  • App Size: 120 MB → 200 MB (users hate this)
  • Build Time: 5 minutes → 25 minutes (productivity killer)
  • Onboarding: 1 week → 2 months (new hires struggle)
  • Bug fixes: Hours → Days (cross-framework debugging is hell)

The Technical Debt Trap

What starts as "just one Flutter screen" becomes:

  1. One screen needs navigation → Custom bridge code
  2. Navigation needs state management → More glue code
  3. State management needs data sharing → Complex architecture
  4. Now you have two codebases to maintain forever

At small scale, the coordination cost exceeds the benefit.

The Team Problem

With a small team:

• Every developer needs to know multiple stacks • Code reviews become inconsistent • No one is an expert in anything • Context switching destroys productivity

The Threshold Question

When does it make sense to adopt this approach?

Here's a framework:

✅ You're Ready If:

  • 500+ mobile engineers across multiple teams
  • Clear pod/vertical structure with independent ownership
  • Dedicated platform/infrastructure team (20+ engineers)
  • Proven ability to maintain large-scale systems
  • Budget for increased app size and build complexity
  • Strong engineering leadership and governance

❌ Stay Away If:

  • Less than 100 engineers
  • Single mobile team
  • No dedicated platform team
  • Struggling with current tech stack
  • Tight budget or timeline constraints
  • Still figuring out product-market fit

The Migration Path (If You're Growing)

If you're scaling up and considering this approach:

  • Phase 1: Monolithic Native (0-50 engineers): Build everything in Kotlin/Swift. Stay focused.
  • Phase 2: Strategic Hybrid (50-200 engineers): Add React Native or Flutter for specific, isolated features. Test the waters.
  • Phase 3: Modular Architecture (200-500 engineers): Build platform team, establish module boundaries, create governance.
  • Phase 4: Multi-Stack Ecosystem (500+ engineers): Different teams can choose appropriate tech stacks within guidelines.

Most companies should stop at Phase 2.

Key Takeaways

  • Multiple tech stacks are a solution to organizational scale, not a technical preference
  • It works for PhonePe because they have the infrastructure, team size, and governance to support it
  • The platform team is the linchpin—without it, you just have technical debt
  • For most companies, the coordination cost exceeds the benefit
  • It's better to be excellent at one stack than mediocre at three

Conclusion

The next time someone tells you "PhonePe uses multiple tech stacks, why can't we?"—now you have the answer.

Yes, they do. And it works brilliantly for them because they have 500+ engineers, a dedicated platform team, clear module boundaries, and a decade of experience building at scale.

For your 20-person startup? Stick with Kotlin or Flutter. Master one stack. Move fast. Ship features.

The right architecture isn't the one that works for PhonePe—it's the one that works for you at your current scale.

When Multiple Tech Stacks Actually Make Sense: Lessons from PhonePe and Super Apps | Bhupesh Kumar