Mercari shingt

How Mercari evolves its iOS codebase into a multi-product monorepo

Original post Evolving Mercari's iOS codebase into a multi-product monorepo

Article Summary

Shingt from Mercari reveals how they transformed a single-product iOS codebase into a monorepo supporting multiple apps. The result? 900+ modules, 38.8MB binary size, and zero build time regression.

When Mercari decided to build their Global App, they faced a critical choice: create a new repository or evolve their existing one. After years of experimenting with separate repos for each product (React Native, Flutter, native iOS), they chose a radically different path. This deep dive explains their migration to a Bazel-powered monorepo that now houses both the Japan and Global apps.

Key Takeaways

Critical Insight

Mercari successfully evolved their iOS codebase into a multi-product monorepo that enables rapid new product development while maintaining build efficiency and code quality across 900+ modules.

Continue reading

The article reveals specific challenges they're still solving as the monorepo scales, plus the one policy that prevents the most common monorepo mistake.

This page summarizes “Evolving Mercari's iOS codebase into a multi-product monorepo” by Mercari, published Oct 24, 2025. All credit for the original work goes to the authors.

Read the original on engineering.mercari.com (opens in new tab)

AI tools for iOS

Browse all AI tools →