A personal finance app built with bare React Native CLI, featuring ML Kit OCR receipt scanning, native Android UPI payment with notification-based status marking, donut chart analytics, and CSV/PDF data export — all running offline-first with React Context and AsyncStorage.
I wanted a lightweight, offline-first expense tracker that doesn't require accounts, cloud sync, or subscriptions — just a fast, beautiful app that lives on my phone and lets me log expenses in seconds. I also wanted to solve a real pain point: after making a UPI payment, I always forget to log it — so I built an OCR receipt scanner, native Android Home screen widgets, and notification-based expense marking to automate that.
The home screen shows a quick spending summary — monthly, daily, and weekly stats — with quick-action tiles (Add Expense, Categories, Analytics, History) and a list of recent transactions.
Scroll down to see the full transaction list with category icons and payment status indicators.
Enter an amount, pick a category, add an optional note, and choose a payment method (Google Pay, PhonePe, Paytm, UPI, Cash, Card, Bank Transfer). Two save options: Mark as Paid or Pay via UPI (which launches the UPI app and shows a notification to mark completion). Alternatively, quickly log an expense right from your phone's home screen using customized native Android Widgets for a frictionless entry bypassing app loading times entirely.
The category picker displays frequently used categories with a "See All" modal.
Share a GPay/UPI transaction screenshot to the app — the ML Kit OCR engine extracts the amount, receiver name, transaction note, and date automatically, pre-filling the expense form.
Time-based filters (Today, Week, Month, Year), month-over-month comparison with percentage change, and an interactive donut chart breaking down spending by category.
Expandable category breakdown with amounts, percentages, and individual transaction details.
Category management, currency settings, notification toggles, dark mode, and data export as CSV or PDF via react-native-html-to-pdf.
Create custom categories with MaterialCommunityIcons and a curated color picker.
Full chronological transaction list with swipe actions, powered by Shopify's Flash List for smooth scrolling.
upi://pay intents with notification-based payment status marking (Paid/Failed actions from notification bar)expensetracker://add-expense to allow one-tap entry.react-native-html-to-pdf