Evenly Expense - AI-Powered Expense Splitting App
Inspiration
Evenly Expense was inspired by the common frustration of splitting expenses among friends, roommates, and groups. Traditional methods like manual calculations, spreadsheets, or basic splitting apps often lack the intelligence and seamless collaboration features needed for modern expense management. We envisioned an app that combines the power of AI with privacy-first design, allowing users to maintain complete control over their data while enjoying smart, automated expense categorization and real-time collaboration through Google Drive.
What it does
Evenly is a Compose Multiplatform expense splitting application that revolutionizes how groups manage shared expenses. The app offers:
Core Features:
- Smart Expense Management: Create multiple expense books for different groups (trips, households, projects)
- AI-Powered Categorization: Uses on-device TensorFlow Lite models to automatically categorize expenses
- Flexible Splitting: Support for equal, unequal, percentage-based, and shares-based expense splitting
- Multi-Currency Support: Handle expenses in multiple currencies with proper formatting and conversion
- Photo Attachments: Attach receipt photos to expenses for better record-keeping
- Recurring Expenses: Set up automatic recurring expenses with various frequencies
- Voice Input Confirmation: Streamlined voice-to-expense workflow (WIP)
Collaboration Features:
- Google Drive Sync: Privacy-first approach where data syncs to users' personal Google Drive folders
- Real-time Collaboration: Multiple users can edit the same expense book simultaneously
- Smart Settlement: Optimized debt calculation to minimize the number of transactions needed
- Email Integration: Eemail invitations for shared expense books
Analytics & Insights:
- Advanced Analytics: Premium feature offering detailed spending analysis with charts and trends
- Category Breakdown: Visual pie charts showing spending patterns
- Time-based Filtering: Analyze expenses across different time periods (7 days to 1 year)
- Balance Tracking: Real-time balance calculations showing who owes what
How we built it
Technology Stack:
- Kotlin Multiplatform: Shared business logic between Android and iOS
- Compose Multiplatform: Cross-platform UI framework for native performance
- SQLDelight: Type-safe database access across platforms
- TensorFlow Lite (LiteRT Next 2.0.0): On-device AI for category prediction
- Google Drive API: For privacy-first data synchronization
- Google Sheets API: For collaborative spreadsheet-style editing
- Firebase Analytics & Crashlytics: App performance monitoring
- RevenueCat: Subscription management for premium features
Architecture Highlights:
Privacy-First Sync System
- Each expense book creates a separate Google Drive folder
- Users maintain complete ownership of their data
- No third-party servers store personal financial information
- Intelligent conflict resolution prevents data loss during concurrent edits
AI Category Prediction
- Dual-input neural network processing word_ids and char_ids
- On-device inference ensures privacy
- Confidence-based suggestions with manual override capability
- Learns from user corrections for improved accuracy
Multi-Platform Database Design
- SQLDelight generates type-safe code for both Android and iOS
- UUID-based IDs for cross-device compatibility
- Comprehensive schema supporting expenses, participants, settlements, and recurring transactions
Advanced Balance Calculation
- Sophisticated debt optimization algorithm
- Support for multiple payers per expense
- Real-time balance updates across all participants
- Settlement suggestions to minimize transaction complexity
Challenges we ran into
Platform-Specific Issues:
- iOS Compilation Problems: Navigation Compose dependencies and string formatting incompatibilities required platform-specific solutions
- Google Services Integration: Complex OAuth implementation across platforms, with iOS requiring significant architectural changes
Sync Architecture Complexity:
- Concurrent Edit Handling: Developing timestamp-based conflict resolution that preserves all user data
- Drive API Limitations: Working within Google Drive API quotas and rate limits while maintaining real-time sync
- Data Consistency: Ensuring data integrity across local SQLite, CSV files, and Google Sheets formats
AI Implementation:
- Model Optimization: Balancing model accuracy with on-device performance constraints
- Cross-Platform ML: Implementing TensorFlow Lite across different platform architectures
- Privacy Compliance: Ensuring AI training data doesn't compromise user privacy
User Experience:
- Premium Feature Balance: Designing a freemium model that provides value while encouraging upgrades
- Multi-Currency Complexity: Handling currency conversions and display formatting across different regions
- Collaborative UX: Creating intuitive interfaces for multi-user expense management
Accomplishments that we're proud of
Technical Achievements:
- Complete Multiplatform Solution: Successfully implemented business logic sharing between Android and iOS
- Privacy-First Architecture: Built a sync system that never stores user data on third-party servers
- On-Device AI: Integrated machine learning that respects user privacy while providing intelligent categorization
- Sophisticated Balance Engine: Created an algorithm that optimizes debt settlements across any number of participants
User Experience Excellence:
- Seamless Collaboration: Real-time multi-user editing without conflicts or data loss
- Intuitive Design: Material 3 design system implementation with accessibility considerations
- Smart Automation: Recurring expenses, auto-categorization, and intelligent split suggestions reduce manual work
Performance & Reliability:
- Robust Error Handling: Comprehensive logging and crash reporting systems
- Offline-First Design: App functions completely offline
- Cross-Platform Consistency: Identical user experience across Android and iOS platforms
What we learned
Technical Insights:
- Multiplatform Development: Deep understanding of expect/actual patterns and platform-specific implementations
- Privacy-by-Design: How to build collaborative features while maintaining complete user data ownership
- Mobile AI Integration: Practical experience with on-device machine learning model deployment and optimization
Architectural Lessons:
- Sync Strategy Design: Importance of conflict resolution strategies in collaborative applications
- Database Design: Cross-platform database architecture considerations and UUID usage patterns
- API Integration: Managing multiple Google APIs with proper error handling and rate limiting
User Experience Learnings:
- Freemium Balance: Finding the right features to gate behind premium subscriptions
- Collaboration UX: Designing interfaces that work for both individual and group usage patterns
- Financial App Trust: Building user confidence in financial data handling and privacy protection
What's next for Evenly
Platform Expansion:
- iOS Completion: Resolve compilation issues and complete iOS feature parity
- Web Version: Browser-based version for desktop expense management
- Backend API: Optional cloud sync for users who prefer traditional server-based storage
Feature Enhancements:
- Advanced Analytics: Machine learning insights into spending patterns and budget recommendations
- Currency Conversion: Real-time currency conversion with live exchange rates for international expense splitting
- Bill Splitting Camera: OCR technology to automatically extract expense details from photos
- Integration Ecosystem: Connect with banking APIs, credit cards, and other financial services
- Multi-Language Support: Localization for global user base
Collaboration Features:
- Real-Time Notifications: Push notifications for new expenses and settlement requests
- Group Chat Integration: Built-in messaging for expense discussions
Technical Improvements:
- Performance Optimization: Further reduce app size and improve startup times
- Backup & Recovery: Enhanced data backup strategies beyond Google Drive
Built With
- cmm
- firebase
- jetpack
- jetpack-compose
- kotlin
Log in or sign up for Devpost to join the conversation.