KMP Project Template · App Toolkit
Brand-neutral Kotlin Multiplatform white-label template
Rather than start each product from scratch, Mifos mobile apps fork this template (published as "App Toolkit"). The shell is brand-neutral by design — every brand-touching value is a placeholder until you configure `app-profile/` and run the sync script. It ships with real financial utilities (loan tracking, bill reminders, interest-rate and macro watchers) so a fresh fork is working software from commit one, not an empty scaffold.
White-label pattern: the shell is generic; a per-project customizer stamps identity and branding, so one template powers every Mifos app — the same way Group Banking ships publicly as MifosSave.
A blank repo isn't a starting point
Starting a new KMP app from an empty shell means re-solving the same module layout, CI/CD, and platform wiring every time. App Toolkit ships a working, brand-neutral app — rebrand it, don't rebuild it.
What's included
One config, every platform
Fill app-profile/, run syncForkConfig, and branding flows to Android, iOS, Desktop, and Web.
Real demo features included
Loan tracker, EMI calculator, bill reminders, interest-rate & currency watchers — working software, not a placeholder screen.
Multi-module architecture
Clean, scalable project structure with an advanced source-set hierarchy for platform code sharing.
CI/CD pre-configured
GitHub Actions builds every platform; Fastlane handles iOS Firebase/TestFlight/App Store delivery.
Built with
- Kotlin Multiplatform
- Compose Multiplatform
- Multi-module architecture
- GitHub Actions CI/CD
- Fastlane (iOS)
Get started
Generate your own repo from the template, or browse the source on GitHub.
Why fork this
- Brand-neutral by default — every brand value is a placeholder
app-profile/+./gradlew syncForkConfigrebrands every platform at once- Ships with working demo features (loans, bills, rates, macro, FX)
- GitHub Actions CI/CD + Fastlane iOS delivery pre-wired