Mercari is a marketplace for the US market. Working across the Japan and US offices, I led product development and technical foundations, with a focus on the mobile apps.
My work included rebuilding the iOS app, automating the release cycle for the Japan and US development teams, and leading the migration of the iOS and Android apps to React Native. I worked on challenges that affected how the teams developed and shipped the product as the business and organization evolved.
I also led the resolution of difficult technical issues across architecture, implementation, performance, and security. When needed, I worked across mobile, web, and backend systems myself, helping teams move forward and contributing to improvements in business metrics.
Role
Mercari, Inc.
I worked primarily in mobile development, covering the technical roadmap, technical strategy, design, implementation, and ongoing improvement across the product development lifecycle. I made and executed technical decisions with the business priorities and the organization's future in mind.
Key contributions
Rebuilding the app for the US market
The original Mercari US app had been developed from the Japanese app's codebase. As Mercari expanded its business in the United States, we decided to rebuild the app so that we could develop a product better suited to the local market.
For the 2017 rebuild, I served as the iOS technical lead. I designed and implemented the foundations supporting development, including the architecture, internal frameworks, design system, automated tests, and deployment processes. We delivered the new app in roughly two and a half months.
Related materials
Enabling both Japan and US teams to release independently
With development teams in Japan and the United States, coordinating releases across time zones had become a burden. Even when a feature was complete, the teams had to align their schedules before it could be released, making it harder for both sides to move forward with clear ownership.
I automated the release cycle to remove this coordination overhead. Both the Japan and US teams could take ownership of their changes and carry them through to release independently.
Resolving technical challenges across teams
Alongside the larger rebuilds, I continuously addressed technical issues that were difficult for individual teams to solve on their own. I identified and led the resolution of obstacles in architecture and implementation, as well as performance and security issues.
My work was not limited to mobile. When necessary, I worked across web and backend systems and sometimes implemented an entire feature or improvement myself. By combining technical guidance with hands-on development, I helped remove obstacles, improve the product, and contribute to better business metrics.
Initiating and leading the migration of the iOS and Android apps to React Native
As the organization grew and development was divided into smaller teams, the mobile technology stack became a constraint. Each team needed both iOS and Android engineers, and the hybrid architecture that included some React Native sometimes required three people just for mobile development.
The time difference between Japan and the United States made staffing and QA coordination even more difficult. Long build times also increased the cost of getting a feature from development through verification. Simply splitting the organization into smaller teams would not have improved development efficiency enough.
I proposed migrating the iOS and Android apps to React Native and sharing the main codebase. The goal was to reduce the need for separate engineers for each platform and enable smaller teams to develop features effectively.
I developed the concept and plan from around 2019, then started the project in earnest in 2021. In addition to leading development, I worked on the architecture, release plan, and infrastructure, while managing the impact on parallel projects and other departments.
We completed the migration within the one-year target we had set. With the main codebase shared, development could proceed with more finely divided teams.
The migration also exposed inconsistencies in behavior between the existing iOS and Android apps, along with many bugs. After the replacement, the business metrics were significantly better than with the previous apps, making the project valuable both for the development organization and for the business.
Related materials
- React Native Matsuri 2021 (Japanese)
- Why we decided to rewrite our iOS & Android apps from scratch in React Native
Technologies
- Swift / Kotlin / Java
- React Native / Expo
- TypeScript / React / Redux Toolkit
- ReactiveSwift / RxJava
- Go / PHP
- Protocol Buffers
- fastlane
