Transcripts
A private corpus of 1,000+ teachings arrives in many formats — Word, PDF, RTF, HTML, scanned images, nested archives.

Private knowledge system
Turning 1,000+ transcripts into an AI-searchable knowledge system.
A large private corpus of teachings was valuable — and nearly unusable at scale. I designed and built Dharma Sky: a private library where those transcripts can be browsed, searched, and asked about through an AI interface grounded in the source material.
Role: Product Designer · AI Product Builder
The challenge
The material existed — years of transcripts across formats and folders. Finding a teaching on a theme, comparing related passages, or answering a precise question meant manual hunting through an archive no human interface could reasonably navigate.
This was an information architecture problem: how to make a large, unstructured body of knowledge accessible without asking someone to remember filenames, dates, or which document held which idea.
The idea
Instead of asking users to search documents one by one, Dharma Sky processes the corpus into an indexed knowledge layer — then offers a calm product surface for browsing, thematic exploration, and grounded questions.
The system
The core product story is the indexing pipeline. Everything the user experiences — search, Ask, topics — depends on what happens here.
Indexing pipeline
A private corpus of 1,000+ teachings arrives in many formats — Word, PDF, RTF, HTML, scanned images, nested archives.
Each file is expanded, text is extracted (including OCR for images), and the transcript is normalized into readable teaching text.
The teaching is split into retrieval chunks, embedded for vector search, and also given a document-level index: key terms, a faithful synopsis, and a routing embedding.
A question first shortlists the most relevant teachings, then searches passages inside those teachings — so answers stay grounded in the right sources.
The model answers only from retrieved passages, with citations back to the original teachings — never inventing content beyond the library.
Chunking
Teachings are split into overlapping retrieval units sized for embedding — keeping page context when available.
Embeddings
Chunks and document indexes are embedded so meaning — not just keywords — can be searched.
Hierarchical retrieval
Shortlist teachings first, then retrieve passages inside them. Diversify sources so one file doesn’t dominate the answer.
The point for a recruiter who has never built AI infrastructure: I understand what happens between a user asking a question and an AI producing an answer — and I designed that path as a product.
Scale
1,000+
transcripts
At this scale, manually searching the source material is no longer a practical interface.
The product needed a structured way to process, index, retrieve, and surface the right knowledge — so a question or theme could open the archive without requiring someone to know where each teaching lived.
Product & UX
The interface is intentionally quiet: library, browse, topics, Ask. Complexity stays in the pipeline; the product asks only for intent.

Natural-language questions become a two-stage search: find the right teachings, then quote from matching passages.

Semantic search ranked by aboutness — synopses and key terms make a large library scannable without opening every file.

Catalog filters by year, event, type, and topic. Detail pages open the full transcript with optional AI summaries.

Themes gathered across teachings, with Topic Builder linking each theme back to supporting passages.
Browse
Anonymized preview
Teaching on patience · Event archive
Synopsis highlights working with irritation, softening reaction, and returning to practice.
Evening talk · Mind training
Key terms surface themes of anger, patience, and daily application — without opening the full file first.
AI interaction
Ask Dharma is not a generic chat clone. It is designed around one job: answer from this library, show the passages that support the answer, and refuse to invent teachings that are not there.
From the library
Across the retrieved teachings, impatience is treated as something to recognize early — then meet with patience practice rather than feeding the reaction. The passages emphasize returning to a calm mind and applying the instruction in ordinary moments.
Supporting passages
“When impatience appears, do not follow it — recognize it, and apply the method you have learned.”
Illustrative exchange — private corpus content is not shown.
Under the surface: the question is embedded, candidate teachings are shortlisted from the document index (and lexical key-term overlap), matching chunks are retrieved, sources are diversified, and only then does the model write — constrained to those passages.
The model does not "know" the transcripts. It answers from what retrieval returns.
Building the product
I used Cursor and AI-assisted development to move from product concept and UX into a working application — schema, ingestion pipeline, retrieval, and interface.
The important part is not that AI wrote code. It is that I could direct the full loop: define the problem, design the experience, decide how knowledge should be indexed and retrieved, and ship a private product people can actually use.
Design decisions
Users never see embeddings, chunk boundaries, or vector scores. They see search, answers, and sources.
The model is not treated as if it "knows" the corpus. Passages are retrieved first; the answer is constrained to those passages.
Supporting passages appear under each answer, linked to teaching titles — trust comes from provenance, not polish.
Document-level aboutness finds the right teachings; chunk-level search finds the exact lines to quote.
Authenticated access, private storage, and no public registration — the corpus stays a closed library.
Loading (“Searching the teachings…”), empty results, and retrieval failures are designed as product moments, not generic errors.
What I learned
Designing an AI product means designing the system around the AI — retrieval, grounding, and citations — not dropping a chatbot onto a document pile.
Retrieval quality is product quality. If the wrong passages surface, the answer feels broken even when the UI is calm.
Good AI UX makes complex infrastructure invisible. Users should feel guided, not impressed by jargon.
AI-assisted development changed how quickly I could move from product concept and UX into a working system I could iterate on.
Product Designer · AI Product Builder
Problem → product thinking → UX → AI system → indexing → shipped software