A modern, privacy-first personal finance tracker built with Jetpack Compose.
Cashio is a production-grade personal finance app built with Jetpack Compose and clean architecture principles. It focuses on clarity, speed, and thoughtful UX, enabling users to track expenses and income with calendar-based insights, meaningful visuals, and smooth interactions.
Cashio was built to address a common weakness in many expense trackers: showing numbers without helping users understand their spending.
Core design principles:
- Calendar-first exploration
- Visual spending intensity via heatmaps
- Fast, low-friction data entry
- Local-first and privacy-respecting by default
- Add expenses & income with categories, notes, date & time
- Edit transactions seamlessly
- Clear validation and error handling
- Monthly calendar heatmap showing spending intensity
- Tap any date to instantly filter transactions
- Day-grouped expandable transaction cards
- Monthly spend overview
- Category-wise breakdown
- Net income vs expense indicators
- Compose animations for hierarchy and feedback
- Haptic feedback for meaningful actions
- Material 3 styling with semantic colors
- Local-first data handling
- No ads, no tracking SDKs
- Designed with Play Store policy compliance in mind
Cashio follows Clean Architecture + MVVM with strict separation of concerns.
data/
├── local/
├── notification/
├── repository/
└── sms/
domain/
├── model/
├── repository/
└── usecase/
├── base/
├── category/
├── expense/
├── keyword/
└── preferences/
presentation/
├── add/
├── analytics/
├── categories/
├── common/
├── history/
├── home/
├── keyword/
├── onboarding/
├── settings/
└── transaction/
ui/
├── components/
├── defaults/
├── navigation/
└── theme/
- Single source of truth via immutable UI state
- Unidirectional data flow
- Business logic isolated in UseCases
- UI is fully state-driven
- No UI-side sorting or filtering
- ViewModels own all transformation logic
- Predictable, testable state flows
- Dynamic percentile-based intensity
- Automatically adapts to individual spending habits
- Avoids hardcoded thresholds that break across users
- Pre-sorted day groups computed once
- Lazy rendering only where data size demands it
- Zero recomposition loops from derived UI logic
Feature-complete core flows; polishing analytics and performance; preparing for Play Store compliance.
- ViewModel logic is isolated and testable
- UI driven by deterministic state
- Defensive error handling for all data flows
git clone https://github.com/your-username/cashio.gitOpen in Android Studio Hedgehog+, sync Gradle, and run on an emulator or device.
This project is currently maintained by a single developer. Thoughtful discussions, suggestions, and PRs are welcome.
Cashio aims to be a fast, beautiful, and trustworthy personal finance companion, built with the same rigor and care as professional fintech products.





