Android · Personal finance · Mobile Applications

Cento

Cento is an Android personal finance app designed for South Asian users. It brings accounts, transactions, budgets, EMIs, savings goals, and bill reminders into one Compose experience, with regional currencies and local data storage.

RoleAndroid developer; built the Jetpack Compose interface and navigation, connected account and finance screens to Room-backed data, implemented onboarding and regional currency selection, and added Firebase email authentication, DataStore preferences, biometric app lock, and scheduled bill and payment reminders.
TypeAndroid · Personal finance · Mobile Applications
TechnologiesKotlin, Jetpack Compose, Material Design 3, Android Room, Kotlin Coroutines, Kotlin Flow, DataStore Preferences, Firebase Authentication, Android BiometricPrompt, Gradle, KSP

Problem

People managing day-to-day money across cash, bank accounts, cards, and wallets can lose track of spending, upcoming instalments, and savings progress when records are spread across separate tools.

Solution & approach

Cento brings personal finance workflows into one Android app. A guided onboarding flow captures the user’s region, financial goal, and first account. Room persists accounts, transactions, budgets, EMIs, savings goals, and bill reminders locally, while reactive queries keep the Compose screens current.

Technology stack

Kotlin · Jetpack Compose · Material Design 3 · Android Room · Kotlin Coroutines · Kotlin Flow · DataStore Preferences · Firebase Authentication · Android BiometricPrompt · Gradle · KSP

Key features

Screenshots and demonstration

Project screenshots pendingNo authentic screenshots or demo recording have been supplied. Add verified images in the admin asset library.

Challenges and decisions

Finance screens need to stay consistent as account balances, transactions, and monthly budgets change. Cento uses Room queries and Flow to keep data-driven Compose views updated, and includes database migrations to evolve the local schema while preserving existing user records.

Results and limitations

Delivered an Android app with guided onboarding and connected finance workflows for accounts, transactions, budgets, instalments, savings goals, and bill reminders. The repository includes local Room persistence, preference storage, authentication flows, biometric locking, and notification scheduling.

Lessons learned

A local-first design keeps everyday finance records available on the device and makes clear data ownership part of the product architecture. Reactive database queries help keep balances and summaries aligned across the app.

← All projects