📈 GH Trending Explorer 🎲 Surprise me

← all repos

cneuralnetwork / kharcha

git clone https://github.com/cneuralnetwork/kharcha.git v1.0.0 · 16d ago

Private spending ledger from bank SMS, built with Expo and optional encrypted Render backup.

—
stars, 24h
—
stars, 7 days
+196
stars, 30 days · #1,301
196
★ total
21
forks · 3 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageTypeScript
LicenseMIT
Created2026-10-03 (17d ago)
Last push15d ago
Watchers0
OwnerUser

Links

README excerpt
# Kharcha
 Features ·
 Getting Started ·
 Contributing ·
 Pick an Issue ·
 Report a Bug ·
 Request a Feature 
**A little clearer every day.** Kharcha turns bank transaction SMS into a private spending ledger. It keeps the original message beside the parsed amount, so you can check the source, correct a name or category, and decide what belongs in your ledger.
This repository contains a working Expo app and a small Render backup API. The app works without an account or backend. The API is used only when you opt into encrypted backup.
**Install on Android:** Download Kharcha 1.0.0 APK (Android 7.0+, 114 MB). Open the download on your device and allow installation from your browser or file manager if prompted. Manual entry works immediately; SMS access is requested only if you enable the bank SMS reader. See the release notes and SHA-256 checksum. This build has not yet been smoke-tested on a physical device.
## What you can do
| Feature | Android build | iOS build | Web preview |
| --- | --- | --- | --- |
| Add and edit entries, assign categories, set budgets, and view insights | Yes | Yes | Yes |
| Paste a bank SMS and review the parsed entry | Yes | Yes | Yes |
| Read allowlisted bank SMS from the device inbox | Yes, with `READ_SMS` permission | No platform API | No browser API |
| Optional encrypted backup to Render | Yes | Yes | Not enabled |
The Android reader uses a small local Expo module. It reads only messages from enabled sender IDs. Common OTP and promotion patterns are filtered; parsing is heuristic, so review entries against your bank records. The app never asks for a bank password or login.
## Run from source
You need Node.js **22.13+**, npm, and Git. Clone the repository, then install the app dependencies:
 [code] 
For a quick manual-entry preview, press `w` for web or open the app in Expo Go. No Render service is needed. The web preview keeps entries in that browser's local storage; clearing site data removes them. Installed iOS and Android apps use SQLite.
### Read SMS on Android
Expo Go cannot load the custom `KharchaSms` native module. From `kharcha/mobile`, use a native build:
 [code] 
That command needs an Android SDK and a connected device or emulator. For a cloud-built installable APK instead:
 [code] 
The first EAS run may ask you to connect or create an Expo project and configure Android signing. Install the resulting APK, open Kharcha, and choose **Read my bank SMS**. The permission prompt is shown before the first scan. On the **You** tab, review or edit bank sender IDs; standard two-letter SMS routing prefixes are ignored when matching. The initial scan covers the last 90 days, with a 1,500-message cap per scan; later scans check recent messages when the app becomes active. Duplicate source messages are ignored.
For iOS, use manual entry or paste a bank SMS. iOS does not expose general inbox-reading access to third-party apps.
## Add optional Render backup
The app is useful without Render. If you want cross-device recove