PicMe started as a consumer photo and video sharing product for iOS, Android, and web. Lightning Kite partnered with PicMe LLC to stabilize and extend that platform, then help turn the same technical foundation into FileCenter, a separate B2B file management product licensed for business use.
The key constraint was that the products could not feel like variants of the same app. PicMe needed to stay consumer-friendly, with collection-based sharing, QR-code guest invites, and mobile subscription flows. FileCenter needed to feel business-ready, with any-file uploads, annual pricing, and desktop-embedded workflows. Both products still had to ship cleanly across all three platforms.
The Challenge
Supporting PicMe and FileCenter from a single repository meant every shared change carried six-platform consequences: PicMe on iOS, Android, and web, plus FileCenter on iOS, Android, and web. Shared systems like authentication, notifications, onboarding, and subscription enforcement could not be treated as single-product decisions, because each release had to work for two audiences with different expectations and purchase paths.
The obvious alternative was to split the products into separate codebases. That would have multiplied the maintenance burden fast. Bug fixes, infrastructure improvements, and platform upgrades would drift across two products and three platforms each. Instead, the architecture had to preserve one well-organized Kotlin Multiplatform codebase while keeping the consumer and enterprise experiences clearly separated.
The Solution
We approached the platform as one shared product foundation with two clearly defined market experiences on top of it. Instead of letting the products drift together or split apart into separate repositories, we used intentional product boundaries so each app could evolve toward its own audience without losing the efficiency of a shared codebase.
That strategy made it possible to keep the technical core aligned while the customer experience stayed distinct. PicMe remained focused on event photos, guest participation, and consumer subscriptions. FileCenter could support business uploads, enterprise billing, and desktop-oriented workflows without inheriting consumer-facing distractions.
A Shared Foundation with Product-Specific Experiences
One of the biggest wins was separating what needed to be shared from what needed to feel different. Core account, notification, onboarding, and access-management systems could improve once for both products, while the visible experience around pricing, upgrades, and workflow stayed appropriate to the audience using it.
That mattered strategically because the business was not just maintaining an app. It was supporting two products with different growth paths. The platform had to leave room for new partnerships, new purchase flows, and new product-specific capabilities without turning every addition into a structural rewrite.
Keeping Releases Safe Across Six Targets
The code structure only worked because product management and QA stayed disciplined. Scope changes were tracked with visibility across both products, and release validation covered PicMe and FileCenter behavior before shipping. When shared systems changed, the team evaluated the effect on both apps, across all supported platforms, before the update moved forward.
That process mattered for product-specific work too. Consumer-facing enhancements could move forward in PicMe, and enterprise-focused capabilities could grow inside FileCenter, without either side creating surprise regressions for the other. The result was not just technical efficiency. It was a steadier release process and a more polished experience for both user groups.
Technology
- Kotlin Multiplatform codebase serving web, iOS, and Android for both products
- Intentional feature-flag architecture used to keep product boundaries clear
- Product-specific monetization and upgrade experiences on top of shared platform logic
- Shared notifications, onboarding, and access-management systems across both products
- Structured UAT and QA coverage before major releases
