A universal gift & reciprocity tracker for every celebration - birthdays, New Year, weddings, anniversaries, holidays and more.
“Keep every gift and every favor in balance.”
![]() |
![]() |
![]() |
At every celebration people give money and gifts, and there's an unspoken rule of reciprocity — you try to give back roughly what you received. Most people track this in notebooks and scattered notes. Gifty turns that chaos into a clean digital ledger for any event: birthday, New Year, wedding, anniversary, holiday, etc.
You pick the event type (or create your own), add people with a relationship label, record gifts given and received, and the app keeps a reciprocity balance and suggests a fair amount for upcoming events.
- Events - record your own and others' events with fully customizable event types (Birthday, New Year, Other by default).
- People & circles - add people, tag them with a relationship, and group them into customizable circles (Friend, Colleague, Relative by default).
- Gifts ledger - track money/gifts given and received per person, with photos and notes.
- Reciprocity balance - see who you owe and a suggested amount for future events.
- Reminders - daily upcoming-event check plus custom one-off reminders at a chosen time, localized and with the event's emoji icon.
- Currency selector - switch between Ruble (₽), Tenge (₸) and Dollar ($).
- 3 languages - full localization in Russian, Kazakh and English.
- Themes - System (Auto) / Light / Dark.
- Onboarding - First launch lets you pick language and theme and points you to settings.
- Backup & export - JSON backup/restore and CSV/PDF export.
- Analytics - spending breakdown by event type.
Clean Architecture + MVVM:
com.gibs.kadeesebi
├── di/ // Hilt modules
├── data/ // Room: entities, dao, database, mappers, repository impls, settings, backup, export
├── domain/ // model, repository interfaces, use cases, util (Money, Currency)
└── presentation/ // tois, person, analytics, reminders, settings, onboarding, circles, common, theme, navigation, i18n
Kotlin · Jetpack Compose · Material 3 · Hilt · Room · DataStore · WorkManager · CameraX · Coil · Navigation Compose
- Open the project folder in Android Studio.
- Let Gradle sync and download dependencies.
- Run on a device or emulator.
./gradlew assembleDebugAll data is stored locally (Room + DataStore). Optionally you can connect a cloud folder (Google Drive, Dropbox, etc.) through the system file picker — the app just writes JSON backups into that folder and lets the cloud app sync them. There are no accounts, servers or access tokens involved. Amounts are stored internally in minor units (1/100 of the main unit).
Released under the MIT License — see LICENSE.


