Skip to main content

A CLI app for managing notes and finances using LLMs.

Project description

WhatsMyNote

WhatsMyNote is a natural-language personal finance assistant for logging and querying lending, expenses, income, and transfers. It uses advanced Llama 3 LLMs to extract structured data, store it in PostgreSQL (Supabase), and answer your complex queries accurately.

🚀 Bring Your Own Key (BYOK) Architecture

WhatsMyNote now supports a secure BYOK architecture. You bring your own Groq API key to power the inference engine locally and securely.

On your first run, the app will prompt you for your GROQ_API_KEY. It is stored securely in a local .env file and is never exposed. The application uses state-of-the-art Groq models:

  • llama-3.3-70b-versatile for reasoning, intent classification, and SQL generation.
  • llama-3.1-8b-instant for fast and efficient data extraction.

🛠 What It Supports & Examples

📉 Expenses

Track where your money is going.

  • Create expense records with amount, category, merchant, payment source, item, and notes.
  • Example: I spent 320 on groceries at Walmart using HDFC
  • Example: Update my last grocery expense amount to 400
  • Example: Delete the Walmart expense
  • Example: Show my highest expenses this month

💰 Income

Record earnings, cashback, or refunds.

  • Example: I received 50000 as salary from Acme
  • Example: Update my salary entry notes to include the July bonus
  • Example: How much income did I receive from salary sources this year?

🤝 Lending & Borrowing

Keep track of who owes you, and who you owe.

  • Example: I lent Sumit 500 today
  • Example: Update Sumit's loan amount to 700
  • Example: How much money have I lent to Sumit?

🔁 Transfers

Record money moving between your own accounts.

  • Example: I transferred 3000 from HDFC to SBI
  • Example: Change the transfer destination to ICICI
  • Example: Show all transfers from HDFC this month

📊 Budgets and Balances

Track your overall financial health.

  • Set opening balances for your accounts (e.g., cash, wallet, SBI).
  • Track category budgets (e.g., groceries, transport) or an Overall limit.
  • Example: Set opening balance for SBI to 50000
  • Example: Set monthly budget for groceries to 10000
  • Example: What is my current balance in SBI?
  • Example: How much budget do I have left for groceries this month?

📈 Analytics (Read-Only)

Run advanced queries without touching write access.

  • Safe SQL generation with automated validation.
  • Prefix queries with sql: for advanced read-only raw queries.
  • Example: What is my total spending this month?
  • Example: Compare my income and expense totals for July
  • Example: What is my net worth estimate?

⚙️ Environment Setup

Install dependencies and start your virtual environment:

uv venv
.venv\Scripts\activate
uv pip install -r requirements.txt

Set up your database connection string in your .env (we recommend a Supabase PostgreSQL instance):

DATABASE_URL=postgresql+psycopg2://postgres:YOUR_PASSWORD@db.YOUR_SUPABASE_REF.supabase.co:5432/postgres

Run the app. It will prompt you for your GROQ_API_KEY on the first launch!

python app/main.py

🏗 Tech Stack

  • Python for core logic.
  • LangGraph & LangChain for robust stateful intent routing and HITL (Human-in-the-Loop) flows.
  • Pydantic for extraction validation.
  • SQLAlchemy & PostgreSQL for data persistence.
  • Groq LLMs (Llama 3) for lightning-fast, high-quality inference.

🚀 Vision

WhatsMyNote aims to become a fully conversational financial memory system, helping you control your lending, borrowing, expenses, income, and transfers through pure natural language.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

whatsmynote-0.1.0.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

whatsmynote-0.1.0-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file whatsmynote-0.1.0.tar.gz.

File metadata

  • Download URL: whatsmynote-0.1.0.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whatsmynote-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2032c1ad252d2c686628ac824e635e011871f6b390b8730cbf301fdc21d30404
MD5 084b5fc66c308440897503e7c535bea1
BLAKE2b-256 b7e0a88fe9b88ebee277b3cbafa883cd8b0b321d71363c332000527b4f37b94d

See more details on using hashes here.

Provenance

The following attestation bundles were made for whatsmynote-0.1.0.tar.gz:

Publisher: release.yml on SarJ2004/WhatsMyNote

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file whatsmynote-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: whatsmynote-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whatsmynote-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5fb08d97f0c17356df8b0377a7a8f22da00103e62bf7ca8c4ef1c5caed841b7a
MD5 b6c9846afb26f907a78ad8664c77eac7
BLAKE2b-256 f90dc24d31b540bf871e4e9fb5a76dc8c5b0b1a7c988116b21c7c5aba1e59ee2

See more details on using hashes here.

Provenance

The following attestation bundles were made for whatsmynote-0.1.0-py3-none-any.whl:

Publisher: release.yml on SarJ2004/WhatsMyNote

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page