I duplicated a Flutter project for a client. Then again. Then again.
Nine clients. Nine repos. One bug. Nine fixes. One I missed — the client noticed before I did.
There's a better way and I wish someone had shown it to me earlier.
→ Android product flavors — one applicationId per client, one build command, one codebase
→ iOS multi-target — separate scheme per client, shared Flutter pods so you don't lose your mind
→ Per-client .env files that switch at build time, so your Dart code never hardcodes anything
→ A Fastlane lane that loops through every client and uploads them all in one run
Full walkthrough → One Codebase, Many Apps
Top comments (0)