Pt2 ChavrutAI Web App in Progress: Advancing the Vision of a More Accessible Talmud
This is the second and final part of a two-part series; Part 1 is here.
Part 1 focused on the detailed vision, and Inspiration & Models, while this part (Part 2) focuses on prototypes and mock-ups.
The outline for the series can be found at Part 1.
Current Status (prototypes / pre-alpha versions)
The domain is here, with a placeholder page:
I have a few prototypes, which need to be combined into one.
Fetching Talmud text (Hebrew and English)
This basic website has some relevant design and static content. It’s a proof of concept re fetching text, demonstrating successful fetching of Talmud text from Sefaria’s API, and does some processing (such as splitting into paragraphs). However, it’s very much a work-in-progress.
Screenshots:
Output text (Fetched text. Haven’t yet developed it to be side-by-side, or wider margins/ more whitespace):
Compare this the Sefaria view (Hebrew-then-English; no nikud):
https://www.sefaria.org.il/Sanhedrin.90b.2?lang=bi
I have a Google Colab notebook version of this script which is more advanced, and can fetch multiple sections at once, across pages. I personally use it, it’s quite helpful.
Custom Instruction, for processing text, and for AI / LLM, for querying a general LLM model re Talmud questions
The term mappings in my fetching script are specifically tailored to the Steinsaltz edition's translation and interpretation.1
“””
User is educated and intellectually curious, with some familiarity with Jewish texts, but not necessarily expert. Present complex material clearly and intelligently—never moralizing, inflating, or oversimplifying.
Highlight interpretive tensions without embellishment. Do not bowdlerize or sanitize difficult content, including sexual passages. Have a particular interest in linguistics.
Write in a direct, modern, neutral tone. Use short paragraphs (1–3 sentences). Be clear and analytical without hyping or sermonizing. Avoid vague or inflated language.
**Avoid the following words:**
*tapestry*, *delve*, *sophisticated*, *richly*, *probing*, *surprisingly modern*, *strikingly relevant*, *insightful*, *fascinating*, *ancient* (use "classical," "late antique," or "rabbinic-period" instead).
**Use these terms instead of their alternatives:**
- **Talmud** (not *Gemara*)
- **R'** (not *Rabbi*)
- **states** (not *teaches*)
- **A baraita states** (not *The Sages taught*)
- **bat kol** (not *Divine Voice*)
- **Shekhina** (not *Divine Presence*)
- **Holy Spirit** (not *Divine inspiration*)
- **God** (not *the Lord*)
- **metzora** (not *leper*)
- **tzara'at** (not *leprosy*)
- **tefillin** (not *phylacteries*)
- **non-Jew** (not *gentile*)
- **am ha'aretz** (not *ignoramus*)
- **female slave** (not *maidservant*)
- **jug** (not *barrel*)
- **discuss** (not *delve into*)
- **ben** (not *son of*)
Use Arabic numerals for all numbers and ordinals (e.g., *20*, *15th*), even when spelled out in the prompt.
**When summarizing a sugya:**
- Start with a descriptive title in title case.
- Break the summary into sub-sections, each with its own title in title case.
- Add cited biblical verses in parentheses after each sub-section title, if relevant.
Keep it clear, insightful, and economical. This is for a scholarly blog, not a textbook or sermon.
“””
MVP (Minimal Viable Product Specification) - Upcoming Beta Version
Text Source Integration
- Pull Talmudic text, translations, and basic commentaries via Sefaria API
- Focus initially on aggadic passages
- Maintain section numbering for precise references
Primary View (inspired by Sefaria + Perseus)
- Two-column layout with Hebrew text and English translation
- Clear visual hierarchy and section breaks
Frontend
- React-based web application
- Responsive design working on both desktop and mobile
Backend
- API integration with Sefaria
Initial Development Focus
1. Start with a single chapter (tractate Sanhedrin, perek Chelek, or tractate Megillah, sugya on Book of Esther) to refine the experience
2. Optimize the prompting system for aggadic passages
3. Build a clean reading interface before adding advanced features
4. Implement text formatting enhancements from my Sefaria formatter
Mock-up of the Proposed Interface of the web app - with focus on the UX/UI and Aesthetics
Mock-up of a simplified, medium-term state of development.2
Overview of the mock-up:
A React component that visualizes the ChavrutAI Talmud study platform UI with:
A navigation header, specifically Breadcrumb navigation
Main content area with tabs for text/translation, commentaries/key terms, and analysis
A bilingual text display with Hebrew and English
A footer
Notes:
Much of the content is essentially simplistic placeholder text, and doesn’t reflect the style of content that will be there in practice
Typefaces used: Roboto for English; Calibri for Hebrew
Mock-up of main tab (“Text & Translation”)
It illustrates features such as side-by-side Hebrew-English, split into further non-arbitrary paragraphs, navigational breadcrumbs, descriptive title, and short intro:3
In Desktop view:4
In tablet/mobile view, scrolled to the bottom, and chatbot minimized, at 67% zoom:
Mock-up of tab “Summaries & Key Terms”, top (in tablet/mobile view):
Mock-up of tab “Summaries & Key Terms”, scrolled down (in tablet/mobile view):
Mock-up of tab “Broader Analysis”, top (on tablet/mobile):
Mock-up of tab “Broader Analysis”, scrolled down to the bottom (on tablet/mobile):
These custom settings are grounded in substantial empirical usage and have proven to be highly effective.
Explaining the rationale behind each component would require a detailed, in-depth discussion; I may discuss some or all of it in a future piece.
The mock-up was generated by Claude AI, available here:
https://claude.site/artifacts/71c7cc9e-341f-4140-ae47-e7a7e0cf91c8
I’ve turned much of that mock-up into an actual prototype on my local machine, see the repo here, with further screenshots:
Compare this with the Sefaria website view, links and screenshots earlier.
The envisioned functionality is that the chatbot window will be able to minimized, as well X-ed out or customized by user after sign-in to not appear at all, by default.