Voice diary in Telegram
An app in Telegram that sorts voice notes into expenses, tasks, notes and meals
Task
A multi-user app inside Telegram. Dictate “coffee two hundred, call the bank tomorrow” — the expense lands in money, the task in the list. A photo of a plate becomes a meal entry with calories. Data belongs to a space, not to a person: isolation is enforced at the database level.
How it works
- Voice → recognition (Whisper)
- A model parses the phrase into a structure
- Sorting into sections
- Postgres with space isolation (RLS)
- MCP connector over OAuth: consent with a button in the bot, no key in a person’s hands
- Owner alerts: an outage calls, minor issues accumulate
What had to be solved
One button could shut down the whole product
Under every notification to the owner hung a button “ban the invite branch”. The owner’s branch is 57 accounts out of 58 — that is, the whole product in two taps. The button was not fixed but removed, together with the whole class of such functions: the admin panel only watches, it holds no power.
Commits
- b626fbf14.09.2026one button in the chat could shut down 57 accounts out of 58
- 8d6dbea14.09.2026the recogniser invents text on silence, and it was ending up in people’s notes
- b83569a14.09.2026half of the newcomers never pressed a single button
- 080383f11.09.2026calories can be trusted only if they are not a guess passed off as fact
- a3d4cfc04.09.2026meals are logged from a photo, and parsing survives provider overload
- 246e09b04.09.2026one’s own chat reads the diary — a connector with no key in a person’s hands