expense-tracking

byJwalant Mehta

**System Role:** Act as an Expert Android Developer and Software Architect specializing in Kotlin, MVVM, Clean Architecture, and offline-first applications. **Core Task:** Generate the technical blueprint, database schema, and core logic for an offline Android expense tracking app that automates entries via SMS parsing. **Context & Variables:** - Platform: Android (Kotlin). - Primary Trigger: Automated expense/income entry by parsing Indian UPI debit/credit SMS messages (requires `READ_SMS` and `RECEIVE_SMS` permissions). - Secondary Features: Manual CRUD operations for expenses, interactive graph visualizations (e.g., MPAndroidChart or Jetpack Compose Canvas). - UI/UX: Inherited from an existing "AI-Enabled Finance Tracking" design system (assume modern, component-based UI). - Infrastructure: Local Room Database. **Constraints:** - STRICTLY OFFLINE: Zero internet permissions. No login, no cloud sync, no Firebase. - ZERO generic setup code (e.g., do not show me how to start a new Android Studio project). - Focus heavily on the exact Regex patterns needed to extract amounts, dates, and merchant names from standard Indian bank UPI SMS formats (SBI, HDFC, ICICI). - Maintain strict MVVM separation between the SMS Broadcast Receiver (trigger), Repository (data), and UI (graphs/lists). **Output Topology (Format strictly as follows):** 1. **Architecture Blueprint (Bullet Points):** Recommended offline tech stack (e.g., Room, Coroutines, Jetpack Compose vs XML, Charting library). 2. **Room Database Schema (Kotlin Code Block):** The exact Entity data classes required to store parsed and manual expenses. 3. **SMS Parser Regex Engine (Kotlin Code Block):** A utility class containing the specific Regular Expressions to capture standard Indian UPI debit/credit SMS formats. 4. **Implementation Roadmap (Markdown Table):** Columns for [Phase, Component (e.g., BroadcastReceiver, ViewModel), Key Logic to Implement].

No preview

Comments (0)

No comments yet. Be the first!

Architecture

No Services Diagrams Yet

Architecture diagrams will be automatically generated when the Project Manager creates tasks for your project.

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: Open app to instrument panel
Landing: Grant SMS permissions
Landing: Note capture active
Landing: Note capture off, manual works
Landing: Retry ledger excerpt read
Landing: 1. Proceed to ledger
Landing: Jump to Add Entry
Transactions: 2. Review captured SMS row
Transactions: 3. Read unparsed SMS notice
Transactions: 4. Retry ledger read
Transactions: 5. Open entry details
Transactions: 6. Open Add Entry
Transactions: 7. Open Insights
Add Entry: 8. Enter amount and direction
Add Entry: 9. Assign merchant and category
Add Entry: 10. Save manual entry
Add Entry: 11. Fix invalid amount
Add Entry: 12. Retry failed save
Add Entry: 13. Cancel without saving
Transactions: 14. Confirm manual row visible
Transactions: 15. Acknowledge unparsed notice
Entry Details: 16. Review entry and raw SMS
Entry Details: 17. Correct merchant field
Entry Details: 18. Save edits
Entry Details: 19. Retry failed save
Entry Details: 20. Delete entry and confirm
Entry Details: Return to ledger on not found
Entry Details: 21. Return without changes
Transactions: 22. Confirm corrected row
Transactions: 23. Confirm deleted row gone
Insights: 24. Read category gauge rings
Insights: 25. Switch visualized grouping
Insights: 26. Retry failed aggregation
Insights: Open Add Entry from empty state
Insights: 27. Return to ledger

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: Open app to instrument panel
Landing: Grant SMS permissions
Landing: Note capture active
Landing: Note capture off, manual works
Landing: Retry ledger excerpt read
Landing: 1. Proceed to ledger
Landing: Jump to Add Entry
Transactions: 2. Review captured SMS row
Transactions: 3. Read unparsed SMS notice
Transactions: 4. Retry ledger read
Transactions: 5. Open entry details
Transactions: 6. Open Add Entry
Transactions: 7. Open Insights
Add Entry: 8. Enter amount and direction
Add Entry: 9. Assign merchant and category
Add Entry: 10. Save manual entry
Add Entry: 11. Fix invalid amount
Add Entry: 12. Retry failed save
Add Entry: 13. Cancel without saving
Transactions: 14. Confirm manual row visible
Transactions: 15. Acknowledge unparsed notice
Entry Details: 16. Review entry and raw SMS
Entry Details: 17. Correct merchant field
Entry Details: 18. Save edits
Entry Details: 19. Retry failed save
Entry Details: 20. Delete entry and confirm
Entry Details: Return to ledger on not found
Entry Details: 21. Return without changes
Transactions: 22. Confirm corrected row
Transactions: 23. Confirm deleted row gone
Insights: 24. Read category gauge rings
Insights: 25. Switch visualized grouping
Insights: 26. Retry failed aggregation
Insights: Open Add Entry from empty state
Insights: 27. Return to ledger