Mind / Practice
Dhamma & Meditation
A local AI companion for Theravāda Buddhist practice. Ask questions about meditation, the suttas, or anything that came up in your sit — and get answers grounded in the Pali Canon and the teachers you actually read.
Who I am
How I came to the teachings
I came to Dhamma as a young person, mostly out of necessity. I was struggling with mental health, with the ordinary agonies of attachment, and with a home life that wasn't always steady. Finding the teachings gave me a framework for understanding what I was experiencing — and, for the first time, a sense that there was a way through.
Since then I've been weaving Dhamma into my life in a mostly self-directed way, learning through reading, practice, and proximity to good teachers. Living in Ottawa, I've been fortunate to have Tisarana monastery close by — a Theravāda community in Ontario with deep roots in the Thai forest tradition. That proximity eventually led to extended stays there and at Birken Forest Monastery in British Columbia, where I got my first real taste of what sustained monastic practice feels like.
More recently, I became a caregiver for my father through a terminal illness that came on suddenly and without warning. That experience cracked things open. The teachings I'd been working with intellectually became something I needed in a much more immediate way — a way to meet grief, impermanence, and a quality of suffering I hadn't had to face before. Caregiving brought me back to Dhamma more seriously than anything else had.
This project came out of all of that.
Why I built it
A gap I kept running into
This project grew out of a specific gap I kept running into. I spent time living and practicing at a monastery, and even there — surrounded by people with deep experience — getting direct answers to practice questions wasn't always easy. Monastic life involves a lot of silence and independent work. You read, you sit, you figure things out mostly on your own. When questions did come up, the answer was usually "go read this."
Back in lay life, that gap only widened. I wanted something that could meet me at the end of a sit and help me think through what came up — not as a replacement for a teacher or a sangha, but as a knowledgeable companion. Something like a well-read friend who has studied the same teachers I have and can point me toward the relevant passage, the right chapter, the talk that addresses what I'm circling around.
Forums like Reddit's r/theravada or Dhamma Wheel fill some of this role, and they're genuinely useful. But I wanted something conversational, immediate, and drawn specifically from sources I already trust — not a crowd of strangers with varying levels of understanding, but the books already on my shelf.
“It’s more like having a pen pal who has read everything you’ve read and can help you find your way back to the part that matters. A companion for the practice, not a substitute for it.”
How it works
Three things it gets right
dhammaguide is a retrieval-augmented generation (RAG) tool you run on your own machine. You populate a local library with texts from the teachers you study. When you ask a question, it retrieves the most relevant passages from your library, hands them to Claude as context, and returns a cited answer. RAG means the AI doesn’t answer from memory — it first searches your library for relevant passages, then uses those as its source material. Open-book rather than closed-book. Your books stay on your machine. The only data that leaves is your question and the retrieved passages — which go to the Anthropic API to compose a response.
Under the hood
Full technical breakdown
Step 1 — Ingestion
Building the index
When you add a book to your library, dhammaguide splits it into overlapping chunks of ~400 tokens. Each chunk is passed through a local sentence-transformers model — all-MiniLM-L6-v2 by default — which converts it into a 384-dimensional vector. Nothing leaves your machine at this stage.
Step 2 — Storage
LanceDB vector index
Vectors and their source metadata (book title, page, canonical reference if present) are stored in a local LanceDB table — a columnar vector database that lives as a folder on disk. Fast to query, zero infrastructure, no server process running.
Step 3 — Retrieval
Cosine similarity + sutta boosting
Your question is embedded with the same local model. The top-k most similar chunks are retrieved by cosine distance. If your question contains a canonical reference like "MN 10" or "SN 35.28", chunks tagged with that reference are boosted in the ranking.
Step 4 — Generation
Prompt construction + Claude
The retrieved chunks are assembled into a prompt with instructions to ground every claim in the provided passages and cite them inline. That prompt — your question plus the retrieved text — is sent to the Anthropic API. Your full library never leaves your machine.
What stays local
- Your library files (PDF, EPUB, txt, md)
- The LanceDB vector index
- The sentence-transformers embedding model
What goes to Anthropic
- Your question
- The retrieved passages (not the full library)
Example session
The library
The teachers you actually study
The tool ships with a curated SOURCES.md pointing to freely available texts from each teacher — most under CC or dana-based distribution. Supported formats: PDF, EPUB, plain text, and Markdown.
Teachers
- Ajahn Chah
- Thanissaro Bhikkhu
- Bhikkhu Bodhi
- Bhikkhu Anālayo
- Ajahn Viradhammo
All four major Nikāyas
- Dīgha Nikāya
- Majjhima Nikāya
- Saṃyutta Nikāya
- Aṅguttara Nikāya
Why terminal-first
Local, private, no login
A browser interface is on the roadmap. For now, the terminal keeps things simple, local, and private — no account, no sync, no cloud storage of your practice questions. Your library is a folder on your machine. You own it.
Try dhammaguide.ai
Python · LanceDB · sentence-transformers · Claude · macOS & Linux