Skip to content

barunkumaracharya/Spends_Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Voice Ledger (Windows 10 Tray App)

Voice Ledger is a convenient tool for tracking daily expenses through voice commands, eliminating the need for manual entry and making expense recording effortless. Perfect for people who want to record spending statements just by speaking instead of sitting and manually writing daily spends.

Demo Video

Watch the demo

This app continuously listens on microphone input and records transaction-intent speech. It captures lines containing spending verbs (for example: spent, spend, paid, bought, purchased) and parses them as transactions. It also applies offline vocabulary correction (SymSpell) for common recognition mistakes in categories/merchant tags. You can edit the correction dictionary in src/config.py under DOMAIN_VOCABULARY.

Important: Transactions must start with "hello" to be recorded. Speech not starting with "hello" is ignored to prevent accidental recordings.

It semantically extracts and stores exactly 4 columns per transaction:

  • date
  • transaction_amount
  • category
  • extra_tags

Example spoken commands:

  • hello, I spent 300 rupees on food today on swiggy
  • hello yesterday, I spent 20 rupees on chocolate
  • hello, I paid 450 rupees for groceries at dmart
  • hello i today i spent ten rupees them chocolate (now works with semantic parsing!)
  • hello, I spent 500 rupees buying a bicycle (new categories accepted!)

Features

  • Semantic NLP Parsing: Uses spaCy for intelligent understanding of noisy speech input
  • Better Speech Recognition: OpenAI Whisper for improved accuracy with accented speech
  • Flexible Categories: Accepts new categories not in the predefined vocabulary (e.g., "bicycle", "gaming")
  • Offline Operation: No internet required for speech recognition or parsing
  • Vocabulary Correction: SymSpell-based correction for domain-specific terms
  • Multi-transaction Support: Can parse multiple transactions from a single utterance

1) Setup

cd d:\github\voice_ledger_app
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

2) Download spaCy Language Model

python -m spacy download en_core_web_sm

3) Run

cd d:\github\voice_ledger_app
.\.venv\Scripts\python -m src.main

The app starts as a system tray icon and keeps running until you click Exit. It also tries to join nearby speech chunks (short pauses) before parsing, to improve recognition of interrupted sentences.

Demo

Watch the screen recording of the app in action: demo.mp4

4) Export monthly Excel

Right-click tray icon -> Export Monthly Excel -> enter month YYYY-MM.

Excel file is saved under:

C:\Users\<your-user>\Documents\ledger\ledger_YYYY_MM.xlsx

5) Run tests

cd d:\github\voice_ledger_app
.\.venv\Scripts\python -m pytest

Packaging (optional)

pip install pyinstaller
pyinstaller --onefile --windowed --name voice-ledger src\main.py

About

Spends Tracking using voice to text mapping

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages