Voice-first, multilingual
Ramble in Hindi, Tamil, Marathi, English — or a mix. Sarvam AI handles speech-to-text and translation; Dhaara understands and replies in your language.
Dhaara is the open-source, voice-first journal that lives on Telegram. Talk to it in Hindi, Tamil, Marathi, English — or a mix — and it quietly turns your day into a searchable archive of plain markdown files on your own disk. No app to open. No form to fill. Just talk.
What it does
An agent on the one app you already check a hundred times a day. It classifies, tags, times, and files every thought into one markdown file per day — with edit and delete by line number, reflection over time, and analytics out of the box.
Ramble in Hindi, Tamil, Marathi, English — or a mix. Sarvam AI handles speech-to-text and translation; Dhaara understands and replies in your language.
Each entry is classified into one of four sections, tagged with a free-form subcategory the agent invents as needed, and stamped with mood when it picks one up. Edit or delete past entries by line — just ask.
Every day is a single markdown file with four fixed sections — WORK, PERSONAL, HABITS, FINANCE — and timestamped bullet entries inside each. grep just works.
"Spent 30 on milk, 150 on auto" lands as separate bullets under FINANCE/groceries and FINANCE/transport. Rupees, dollars, lakh, crore — all parsed.
Every bullet carries its own [time] [CATEGORY/subcategory] prefix and optional mood — each line stands alone, perfect for RAG, search, and replay later.
Drop your goals into _telos/. Ask "how am I tracking against my work goals this month?" — Dhaara grounds the answer in your actual entries, with a data-quality flag when coverage is sparse.
Streak nudge for your shell prompt, GitHub-style activity heatmap, mood timeline, weekly summary with week-over-week deltas, combined dashboard, structured search with date / category / mood filters, tag inventory, CSV / JSON export with pivots — every script reads the same plain markdown. No database, no migrations, no daemons.
# 2026-04-15 Journal ## [WORK] - [10:32 AM] [WORK/meetings] Standup with the team - [2:15 PM] [WORK/coding] Finished the API refactor *(mood: satisfied)* ## [FINANCE] - [1:30 PM] [FINANCE/food] Lunch ₹150 - [6:00 PM] [FINANCE/groceries] Vegetables ₹300
Built for
The auto ride. Between meetings. While making chai. Dhaara doesn't ask you to sit down and open an app — it lives in the one app you already check a hundred times a day.
You've tried Day One, Notion, Notes.app, a paper notebook. They're all friction. Dhaara is one tap and a voice note.
Plain markdown on your disk. Python. Telegram bot. AWS Bedrock or OpenRouter. No vendor cloud, no schema, no lock-in. grep works.
Work, personal, habits, and finance — captured side-by-side in one file per day so you can finally see how a stressful sprint correlates with takeaway spending and missed gym days.
Data sovereignty
Your journal is the most personal data you produce. Dhaara never sends it to a vendor's server, never asks you to sign in to a SaaS, never holds it hostage behind a subscription. It's just files on your disk — written in plain markdown, locked to a single Telegram ID, and yours forever.
Built on
Boring infrastructure, exciting capabilities. A Telegram bot, a tool-using agent, a speech pipeline tuned for Indian languages, and plain markdown at rest — all behind a Python service you can actually read.
The fastest path from thought to file. 2-minute setup via @BotFather; locked to a single user ID so only you can write.
Speech-to-text, language detection, and translation — tuned for Indian languages. Free tier is enough to journal every day.
One agent loop, two providers. Run on AWS Bedrock with Nova or Claude, or point at OpenRouter for everything else. Swap by editing one config line.
One file per day, four fixed sections, inline tags. filelock for concurrent-safe writes; every path resolved inside data_dir — traversal attempts rejected.
One ecosystem file, four PM2 apps — the always-on bot, plus weekly summary, daily dashboard, and streak-nudge cron jobs that wake up on local time and go back to sleep. Survives reboots after pm2 startup; no thundering-herd schedules; logs you can actually find.
Quickstart
You'll need Python 3.11+, a Telegram bot token from @BotFather, a Sarvam AI key, and either an OpenRouter key or AWS Bedrock access. Full instructions live in the README.
# 1. Clone and install $ git clone https://github.com/noxtandav/Dhaara.git $ cd Dhaara && python3 -m venv venv && source venv/bin/activate $ pip install -r requirements.txt # 2. Configure your secrets (Telegram, Sarvam, model keys) $ cp config.example.yaml config.yaml $ $EDITOR config.yaml $ python scripts/check_config.py # lint before running $ python scripts/init.py # create data_dir, _telos seeds # 3. Talk to your bot on Telegram $ python -m src.main → Message your bot — that's it. PM2 manifest available for production.
A private journaling bot wired to your Telegram, with voice transcription, a tool-using agent, and a markdown filesystem — all running on your machine.
config.example.yaml → config.yaml, add your Telegram + Sarvam + model keys, run check_config.py and init.py.python -m src.main — message the bot. For long-running deployments, use the shipped ecosystem.config.js.example with PM2.Dhaara is in active development and built in the open. Star it, run it, fork it, and shape Phase 4 — vector retrieval over your past entries — with us.