Contrikarle is a stylish and intuitive expense-splitting app built in Kotlin with Jetpack Compose, aimed to make shared finances easy and efficient. It's designed to handle group expenses, events, smart settlements, and a slick UI better than traditional apps like Splitwise.
-
🔐 Google Sign-In (Firebase Auth)
-
🏠 Dashboard to manage all group/event expenses
-
👥 Group & Friend Management
-
💸 Smart Expense Split
- Equal, Percentage, or Custom splitting
-
🧠 Auto-Settle Logic
- Calculate who owes whom the least
-
📊 Detailed History & Graphs
-
🔔 Notifications & Activity Logs
-
🧠 (Upcoming) Paytm SMS Scanner & OCR-Based Entry
-
💅 Fully responsive, beautiful Jetpack Compose UI
| Layer | Tools/Tech |
|---|---|
| Language | Kotlin |
| UI Framework | Jetpack Compose |
| State Mgmt | ViewModel + StateFlow |
| Auth | Firebase Auth (Google Sign-In) |
| Backend DB | Firebase Firestore |
| Navigation | Jetpack Navigation Compose |
| DI | (Coming Soon) Hilt |
| Testing | (Coming Soon) JUnit + Compose Testing |
com.example.contrikarle
│
├── presentation/
│ ├── screens/ # All UI screens (Login, Home, Group, etc.)
│ ├── auth/ # GoogleAuthUiClient & Auth logic
│ └── components/ # Reusable UI Composables
│
├── viewmodel/ # ViewModels for each screen
├── model/ # Data classes (User, Expense, Group, etc.)
├── repository/ # Firebase access layer (coming soon)
└── utils/ # Helper functions, constants, etc.
⚠️ Make sure you have Android Studio Hedgehog+ installed and a working Firebase project.
-
Clone this repo:
git clone https://github.com/FR34KY-CODER/Contrikarle.git
Also rename the package name for the project
-
Add your
google-services.jsonfile in:app/google-services.json -
Paste your Web Client ID from Firebase into:
GoogleAuthUiClient.ktstrings.xml(optional, for dynamic injection)
-
Build & Run the app:
- Connect a device or emulator
- Hit
Run ▶in Android Studio
> Coming Soon — once UI is fully built.
- Firebase Auth with Google Sign-In
- Home Screen with Group/Event Listing
- Group Creation with Member Add
- Expense Creation with Dynamic Splits
- Firebase Firestore Integration
- Settle Up Smart Logic
- Notifications for Due Expenses
- SMS & OCR-based Expense Extraction
- Polished UI + Animations
- Deploy to Play Store
Made with 💙 by FR34K (Ojasvi Goyal) Game dev, ML dev, Kotlin madlad, and hardcore caffeine-fueled builder. This app is part of a long journey to build polished, useful apps — fast and solo.
This project is licensed under the Apache License.
⚡ Contrikarle — "Contri Karo, Dost bane Raho! :D."

