A modern web application for reading the complete Bible in its original languages (Hebrew and Greek) with integrated Text-to-Speech, word-by-word translations, and AI-powered explanations.
Live Demo: https://ezra-zeta.vercel.app
- 66 Books: Full Hebrew Tanakh (39 books) + Greek New Testament (27 books)
- ~31,102 verses across ~1,189 chapters
- Word-by-word display with proper RTL support for Hebrew
- Google Cloud TTS Integration: High-quality voice synthesis
- Hebrew (he-IL) and Greek (el-GR) voices
- Listen to individual verses or full chapters
- Hover-to-speak: Hear individual words on hover
- Adjustable playback speed
- English gloss displayed under each Hebrew/Greek word
- Click any word for AI-powered detailed explanation
- Grammatical analysis and contextual meaning
- Clean, responsive design with Tailwind CSS
- Dark mode support
- Smooth navigation between books and chapters
- Node.js 18+
- Google Cloud account with Text-to-Speech API enabled
- OpenAI API key (for word explanations)
# Clone the repository
git clone https://github.com/yourusername/ezra.git
cd ezra
# Install dependencies
npm install
# Set up environment variables
cp .env.local.example .env.local
# Edit .env.local with your API keys
# Run development server
npm run devOpen http://localhost:3000 to see the app.
| Document | Description |
|---|---|
| DEVELOPMENT.md | Local development setup, testing, and deployment |
| ARCHITECTURE.md | Technical architecture and codebase guide |
The app is deployed on Vercel. For deployment setup:
- Connect your GitHub repository to Vercel
- Add environment variables in Vercel dashboard:
GOOGLE_APPLICATION_CREDENTIALS_JSON- Google Cloud service account JSONOPENAI_API_KEY- OpenAI API key for word explanations
- Deploy!
See DEVELOPMENT.md for detailed instructions.
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- TTS: Google Cloud Text-to-Speech
- AI: OpenAI GPT-4o-mini (word explanations)
- Validation: Zod
- Testing: Vitest
- Deployment: Vercel
ezra/
├── src/
│ ├── app/ # Next.js App Router pages
│ │ ├── api/ # API routes (tts, voices, word-explanation)
│ │ └── bible/ # Bible reader pages
│ ├── components/ # React components
│ ├── data/
│ │ └── bible/ # Bible JSON data (hebrew/, greek/)
│ ├── lib/ # Utilities and services
│ │ ├── tts/ # TTS client, cache, chunking
│ │ └── openai/ # Word explanation service
│ └── types/ # TypeScript type definitions
├── data/ # Source XML files
├── scripts/ # Build and utility scripts
└── public/ # Static assets
Torah: Genesis, Exodus, Leviticus, Numbers, Deuteronomy
Prophets: Joshua, Judges, 1-2 Samuel, 1-2 Kings, Isaiah, Jeremiah, Ezekiel, Hosea, Joel, Amos, Obadiah, Jonah, Micah, Nahum, Habakkuk, Zephaniah, Haggai, Zechariah, Malachi
Writings: Ruth, Psalms, Proverbs, Job, Song of Songs, Ecclesiastes, Lamentations, Esther, Daniel, Ezra, Nehemiah, 1-2 Chronicles
Gospels: Matthew, Mark, Luke, John
History: Acts
Pauline Epistles: Romans, 1-2 Corinthians, Galatians, Ephesians, Philippians, Colossians, 1-2 Thessalonians, 1-2 Timothy, Titus, Philemon
General Epistles: Hebrews, James, 1-2 Peter, 1-3 John, Jude
Apocalyptic: Revelation
MIT License - see LICENSE for details.
- Bible text data from public domain sources
- Google Cloud for Text-to-Speech API
- OpenAI for word explanation capabilities