📊 Dashboard
Activity (last 30 days)
🎤 Top Lecturers
| Lecturer | Plays |
|---|
📖 Top Masechtos
| Masechta | Views |
|---|
👥 Top Users
| User | Activity |
|---|
📤 Recent Uploads
| Daf | Lecturer | Type | Uploaded |
|---|
📤 Upload Lectures
Drag files here or click to select
Audio (MP3, M4A, WAV, OGG, FLAC, MP4, WebM...) or PDF · Naming: LL_masechta_daf[a/b].ext
Non-MP3 audio is auto-converted to 128 kbps MP3 on the server
Or paste a link
Works with Dropbox, Google Drive, or any direct file URL. File must be publicly shared.
📚 Lectures Library
All uploaded lectures across masechtos. Edit to fix metadata (daf, amud, lecturer, title). Delete removes the file from storage.
| Masechta | Daf | Amud | Lecturer | Type | Title | Version | Duration | Size | Plays | Uploaded | Actions |
|---|
👥 Lecturers
📖 Masechtos
Enable a masechta to make it browsable in the app's ספריה tab. Then run a Sefaria text harvest to populate Gemara/Rashi/Tosfos.
| מסכת | Slug | Dapim | Status | Actions |
|---|
📅 Calendar Cache
The calendar_cache table holds pre-computed Hebrew date,
parsha, and yom-tov info for each Gregorian day from June 2025 through
end of 2037. Once populated, the app reads from this table everywhere —
no live Hebcal calls at request time. Hebcal stays as fallback for
dates not in the cache.
Run the backfill once. It takes ~5–10 min and is idempotent (existing rows are skipped, safe to re-run any time).
📁 Google Drive Inbox
📂 Monitored Folders
Add a folder ID (or paste full Drive URL). For your own inbox: filenames must match CODE_masechta_daf.ext. For a lecturer's shared folder: pick a default lecturer + masechta and any filename works (daf number extracted from name).
| Label | Defaults | Mode | Actions |
|---|
⏳ Waiting
Files in Drive that haven't been evaluated yet. Files with parseable names auto-upload on the next poll. Click Pull to import a file immediately.
| File name | Folder | Date | Action |
|---|
📋 Tried
Files the auto-poller looked at but didn't import (couldn't parse, v1 already exists, etc.). Click Pull to import manually.
| File name | Folder | Date | Last attempt | Action |
|---|
📜 Recent Activity
| Time | File | Status | Detail |
|---|
🗂 Dropbox Inbox
📂 Monitored Folders
Add a Dropbox folder path (e.g. /lectures/eruvin; leave blank for the root) or paste a shared-folder link for a folder shared with you. For your own inbox: filenames must match CODE_masechta_daf.ext. For a lecturer's shared folder: pick a default lecturer + masechta and any filename works. (Shared-link folders are never deleted from, even if "delete after" is checked.)
| Label | Defaults | Mode | Actions |
|---|
⏳ Waiting
Files in Dropbox that haven't been evaluated yet. Parseable names auto-upload on the next poll. Click Pull to import immediately.
| File name | Folder | Action |
|---|
📋 Tried
Files the auto-poller looked at but didn't import. Click Pull to import manually.
| File name | Folder | Last attempt | Action |
|---|
📜 Recent Activity
| Time | File | Status | Detail |
|---|