ramajha@portfolio: ~/projects/sahayak

ramajha@portfolio:~/projects/sahayak$ cat README.md

sahayak

Personal assistant Telegram bot for expenses, budgets, reminders, notes and a lending ledger, built to run in under 200 MB of RAM.

date
stack
python sqlite telegram systemd
code
private repo

A single-user assistant that lives in Telegram: log an expense in one message, set budgets per category, get reminders, keep notes and track money lent to friends.

It runs on an Oracle Cloud free-tier VM with 1 GB of RAM, so the memory budget (under 200 MB steady state) drove most design decisions:

  • Long polling only: no domain, webhook or reverse proxy
  • State lives in SQLite, so restarts need no rehydration
  • Budgets show usage bars and what’s left per day; one expense that crosses several thresholds sends a single alert
  • Encrypted backups, self-monitoring and a hardened systemd unit

cd ..