The Searchable Talmud — "Talmud is complicated enough... the search doesn't have to be."
A unified platform combining a Talmud search engine, the Color Tiles visual learning system, and KANDLES color-encoding tools — all sharing one design system and one data core.
- What is Talmudy?
- What are Color Tiles?
- What is KANDLES?
- The KANDLES Color Mapping
- Project Structure
- Tech Stack
- Getting Started
- Documentation
- Roadmap
- License & Patent
- Authors
Talmudy is a search engine for the Talmud — a "Google for the Talmud." The Babylonian Talmud spans 63 tractates across 2,711 double-sided pages (roughly 5,000+ pages), making it larger than the Encyclopedia Britannica. Yet it has:
- No index
- No headings
- No page numbers as we know them
- No vowels or punctuation in the original text
- Random acronyms and abbreviations
- Contradictory repeat sections across thousands of pages
Talmudy indexes and categorizes the entire Talmud, allowing users to search by topic, personality, tractate, or keyword. Results display exact tractate locations, frequency counts, and English translations of the original source text in a straightforward question-answer format.
| Feature | Description |
|---|---|
| Full-text search | Search across 37+ tractates and 1,000+ indexed passages |
| Tractate navigation | Browse by tractate and page (amud) with color-coded grids |
| Category browser | 14 keyword categories × 7 color rows for visual browsing |
| English translations | Q&A dialogue format with source citations |
| Aramaic/Hebrew source | Original text displayed alongside translations |
| Rabbi/person index | Tannaim, Amoraim, Rishonim, Acharonim, and biblical figures |
| Tanach cross-reference | Torah book filtering integrated with Talmud search |
| Color grid reader | 7×7 KANDLES color grids for visual text encoding |
The Color Tiles System is a visual learning technology that converts complex written information into standardized, human-recognizable color patterns. It maps each word's first consonant sound to one of 7 colors (plus black for empty/padding).
- Jewish educational organizations: Chabad, Aish, Hebrew schools, synagogues
- Ages 6–12: Children overwhelmed by unfamiliar alphabets and difficult vocabulary
- Adult beginners and converts: Visual companion that reduces intimidation
- Anyone: A new way to see patterns in text
Rather than replacing traditional learning, Color Tiles functions as a visual companion layer — an indexing system that sits on top of existing educational resources. Each word's first consonant sound determines its color, creating a unique "color fingerprint" for every passage of text.
The same technology is also applicable to:
- Music education: Children ages 3–8 follow color patterns to play songs on color-coded keyboards
- Language learning: Visual patterns across 60+ languages
- Text analysis: Pattern recognition in any phonetic text
KANDLES (US Patent 2024/0248922 A1) is the patented system underlying the Color Tiles technology. The patent, titled "System and Methods for Searching Text Utilizing Categorical Touch Inputs," defines a fixed phonetic-to-color mapping algorithm invented by Mike Merkur.
The name KANDLES is a mnemonic derived from the color-number associations:
| # | Color | Mnemonic | Phonetic Category |
|---|---|---|---|
| 1 | Yellow | Kandles (Sun) | K, G, J, Ch |
| 2 | Gray | Moon | M, N |
| 3 | Red | Torch (Fire) | T, D, Th |
| 4 | Blue | River (Water) | R, L |
| 5 | Green | Tree (Wood) | Y, W, H, Kh |
| 6 | Purple | Petal (Flower) | P, B, F, V |
| 7 | Brown | Soil | S, Z, Sh |
| 0 | Black | — | Empty / padding |
Text is encoded into a 7×7 grid (49 cells). Each word's first consonant sound maps to its KANDLES number (1–7), and the corresponding cell is colored accordingly. Each grid encodes approximately 17 characters of text.
Multiple grids can be arranged in sequence (4 squares displayed at once in the reader) to encode longer passages. A minimap provides navigation across the full text.
- Text encoding: Convert any phonetic text to color grids
- Physical blocks: Arrange colored blocks (Mega Bloks) on a baseplate to encode messages
- Camera decoding: Use ML Kit to scan physical block grids and decode the message
- Visual search: Search Talmud text by color patterns, not just keywords
:root {
--k0: #000000; /* black — empty / padding */
--k1: #ffd700; /* gold — K, G, J, Ch */
--k2: #c0c0c0; /* silver — M, N */
--k3: #ff0000; /* red — T, D, Th */
--k4: #6666ff; /* blue — R, L */
--k5: #00aa00; /* green — Y, W, H, Kh */
--k6: #aa33ff; /* purple — P, B, F, V */
--k7: #aa6633; /* brown — S, Z, Sh */
}For each word in the input text:
1. Extract the first consonant sound
2. Map to KANDLES number (1–7) using the phonetic table
3. Place in the next available cell of the 7×7 grid
4. Fill remaining cells with 0 (black)
The phrase "The Searchable Talmud" encodes as:
| Word | First Consonant | KANDLES # | Color |
|---|---|---|---|
| The | Th → T | 3 | Red |
| Searchable | S | 7 | Brown |
| Talmud | T | 3 | Red |
talmudy/
├── apps/
│ └── web/ # Next.js application
│ ├── app/ # App Router routes
│ │ ├── page.tsx # Search Hub (home)
│ │ ├── reader/[tractate]/[amud]/page.tsx
│ │ ├── browse/page.tsx # Category browser
│ │ ├── learn/ # Color Tiles education
│ │ └── tools/
│ │ ├── encoder/page.tsx
│ │ └── decoder/page.tsx
│ └── components/ # React components
├── packages/
│ ├── kandles-core/ # Patent-critical shared library
│ │ ├── src/
│ │ │ ├── mapping.ts # Phoneme → color-number table
│ │ │ ├── encode.ts # Text → grid codes
│ │ │ └── grid.ts # 7×7 grid math
│ │ └── src/__tests__/ # Golden tests from patent examples
│ ├── data/ # Normalized content + types
│ │ ├── content/
│ │ │ ├── tractates.json
│ │ │ ├── passages/
│ │ │ ├── grids/
│ │ │ └── keywords.json
│ │ └── src/
│ └── ui/ # Design system
│ ├── tokens.css # c0–c7 custom properties
│ └── src/ # ColorCell, ColorGrid, Minimap…
├── tools/
│ └── etl/ # Migration scripts
│ ├── extract-015.ts # Parse legacy data-block.js
│ ├── extract-016.ts # Parse legacy data.js
│ ├── normalize.ts
│ └── validate.ts
├── docs/ # Documentation
│ ├── architecture.md
│ ├── kandles-spec.md
│ ├── data-migration.md
│ ├── roadmap.md
│ └── contributing.md
├── plans/ # Architecture plans
├── README.md
├── LICENSE
├── CONTRIBUTING.md
├── .gitignore
├── package.json
├── pnpm-workspace.yaml
└── turbo.json
| Layer | Technology | Rationale |
|---|---|---|
| Language | TypeScript (strict) | Type safety for structured Talmud data and KANDLES grids |
| Framework | Next.js 15 (App Router) + React 19 | Static generation for unchanging Talmud content; aligns with future React Native mobile app |
| Styling | Tailwind CSS 4 + CSS custom properties | KANDLES c0–c7 colors as design tokens |
| Monorepo | pnpm workspaces + Turborepo | Shared packages consumed by web app now, mobile app later |
| Data (v1) | Build-time ETL → typed JSON modules | Zero backend; matches current all-static reality |
| Search (v1) | FlexSearch (client-side) | ~1,000–5,000 passages is tiny; no server needed |
| Validation | Zod | Schema validation for all content at build time |
| Testing | Vitest + Playwright | Golden tests for KANDLES encoder; e2e smoke tests |
| Hebrew/Aramaic | RTL-first components, SBL Hebrew / Ezra SIL fonts | Proper rendering of source text |
| Hosting | Vercel (static + edge) | Zero-ops for a static-first app |
| Mobile (future) | Expo / React Native | Reuses kandles-core and ui tokens |
- Node.js ≥ 20
- pnpm ≥ 9
- Git
# Clone the repository
git clone https://github.com/tbitcs/talmudy.git
cd talmudy
# Install dependencies
pnpm install
# Run the ETL pipeline to migrate legacy data
pnpm etl
# Start the development server
pnpm devThe app will be available at http://localhost:3000.
| Command | Description |
|---|---|
pnpm dev |
Start Next.js dev server |
pnpm build |
Build for production (static generation) |
pnpm etl |
Run legacy data migration pipeline |
pnpm test |
Run Vitest unit tests |
pnpm test:e2e |
Run Playwright e2e tests |
pnpm lint |
Run ESLint + Prettier |
pnpm typecheck |
Run TypeScript type checking |
- Architecture — Full platform architecture, component tree, data flow, state management
- KANDLES Specification — Patent algorithm, phonetic mapping table, grid encoding rules
- Data Migration — ETL strategy for migrating from legacy AngularJS data files
- Roadmap — Phased build-out plan (6 phases)
- Contributing — How to contribute
| Phase | Deliverable | Status |
|---|---|---|
| 0 — Scaffold & ETL | Monorepo, kandles-core with golden tests, ETL pipeline, validated data | 🔜 Planned |
| 1 — Search Engine | Search Hub, passage pages, FlexSearch index, URL-driven filters | 🔜 Planned |
| 2 — Reader | Color-grid reader, 4 squares, minimap, page navigation | 🔜 Planned |
| 3 — Browse | Category browser, keyword buttons, history panels | 🔜 Planned |
| 4 — Learn | Color Tiles education layer, charts, lessons, practice mode | 🔜 Planned |
| 5 — Encoder | Text → grid encoder tool, print/export for physical blocks | 🔜 Planned |
| 6 — Mobile | Expo app with camera decoder (ML Kit) for physical block scanning | 🔜 Planned |
See docs/roadmap.md for detailed milestones and exit criteria.
Copyright © 2024–2026 Mike Merkur and Tristen Pierson. All rights reserved.
This software is proprietary and confidential. Unauthorized copying, distribution, modification, or use of this software, via any medium, is strictly prohibited without prior written permission from the copyright holders.
See LICENSE for the full license terms.
The KANDLES color-encoding system is protected by US Patent 2024/0248922 A1 — "System and Methods for Searching Text Utilizing Categorical Touch Inputs" — filed January 19, 2024 by Mike Merkur.
Any implementation of the KANDLES phonetic-to-color mapping algorithm, the 7×7 grid encoding system, or the color-number-phoneme associations described herein may require a license from the patent holder.
| Name | Role |
|---|---|
| Mike Merkur | Inventor of KANDLES, patent holder, content architect |
| Tristen Pierson | Lead developer, platform architect |
The Talmud content indexed in this platform draws from centuries of Jewish scholarship. The English translations and source references are compiled from traditional commentaries and modern resources.
The legacy codebase (programs 001–018) was developed iteratively from 2019–2024, evolving from static HTML pages to an AngularJS single-page application with over 1,000 indexed Talmud passages across 37 tractates.
"Talmud is complicated enough... the search doesn't have to be."