Case study · Kvius
All of Shas, online and free, for anyone who learns
Kvius is my labor of love for Klal Yisroel. It started as the home for my shiur on the Oraysa Amud Yomi and grew into every daf of Shas in the Wagshal printing, free for anyone to use, with an interactive reader that puts the printed page, translation and word meanings in one place.
The problem
Learning one daf properly means juggling three things: the printed page, a translation and a dictionary. Rashi and Tosafos have no vowels, so even a good dictionary can mislead. The same letters can be two different words.
I wanted the answer to be free for everyone, with no sign-up. My shiur had its own needs too: a schedule that knows which amud is today, a place for the recordings, and a podcast feed so people can listen on the way to work.
What I built
Shiur platform
A schedule engine that maps each learning day to its amud, an audio player that keeps playing as you move between pages, an Apple- and Spotify-compatible podcast feed, and a private recorder for publishing each shiur.
Astro · D1 · R2 · Zero TrustInteractive daf reader
The real printed page, with every word linked to its text. Hover or tap a word for its meaning in that line, with a "Report a mistake" link on every gloss.
Sefaria · Shas.org · R2
The content pipeline
One command builds a range of amudim start to finish. Steps that already finished are skipped, so a stopped run picks up where it left off, and new amudim go live without a code change or a deploy.
One amud, start to finish
Five hard problems
The decisions that took the most thought, and the trade-off I accepted in each.
Linking a scanned page to digital text
ProblemThe printed daf is a picture. To make it interactive, every printed word has to be matched to the digital text, even though the PDFs use old Hebrew encodings, abbreviations are split, Rashi and Tosafos swap sides between amud a and b, and the printed order sometimes differs from the digital edition.
ChoiceA seven-step pipeline: render the page, read exact text positions, trace the ink of every word, decode the old encodings, then align each Rashi and Tosafos piece separately. An abbreviation maps to every word it stands for.
Trade-offWhere the printed page and the digital text truly differ, the printed page wins, and those cases are corrected by hand in an overrides file.
Meanings that are right for the sentence
ProblemWithout vowels, identical letters hide different words. On Megillah 20a, a Rashi word that looks like "proof" actually means "sighting." A dictionary lookup gets it wrong.
ChoiceEvery meaning is written from its own line, then checked against that line's translation. Each answer is validated automatically (one meaning per word, nothing missing), failures are re-asked with the problems listed, and uncertain words are flagged for my review.
Trade-offIt's slower and costlier than reusing meanings by spelling. I'm open on the site that the meanings are AI-written and still being reviewed, and readers can report mistakes.
Scaling to all of Shas
ProblemShas has thousands of amudim. Building them by hand, or redeploying the site for each one, wouldn't scale.
ChoiceContent lives in R2 storage, not in the code. One resumable command builds and uploads a whole masechta, retries any page that drops, and records what's done in a status sheet. Kvius went from one masechta to all six sedarim in about two days, and an internet outage in the middle of Chullin did no harm.
Trade-offThe printed pages for all of Shas went up first. Translation and word meanings are being added amud by amud, starting with Megillah, so most pages are the printed daf for now.
Never losing a recorded shiur
ProblemA browser tab can crash halfway through a recording.
ChoiceThe recorder saves a backup every five seconds, then lets me trim, encodes the MP3 on the device and uploads it in resumable 8 MB parts.
Trade-offEncoding uses the device's CPU, but there's no server to run or pay for.
Audio that keeps playing
ProblemListeners browse while they listen, and on most sites changing pages stops the audio.
ChoiceOne audio player persists across page changes, remembers each listener's place, and works with lock-screen controls.
Trade-offPage transitions are handled by the site itself, which adds complexity to navigation.
Secure and respectful by design
- The admin area is locked behind Cloudflare Zero Trust, with a one-time email code, and every admin request's token is verified on the server.
- The printed pages come through the Shas.org API, not by scraping HebrewBooks.org, whose terms forbid automated downloads. Credits and the license are shown on the site.
- Sources are labeled: line translations are Steinsaltz via Sefaria, and every AI-written meaning is marked as such.
A labor of love
Kvius is free, and it will stay free. There's no sign-up and nothing to buy: anyone can open any amud from Berachos 2a to Niddah 73a. The printed pages are used under a non-commercial license, which fits what this is meant to be: a gift to Klal Yisroel, built so that more people can learn.
By the numbers
Printed pages: Talmud Bavli, Wagshal edition, from HebrewBooks.org via Shas.org, for free non-commercial use under the HebrewBooks.org Limited License. Line translations: Steinsaltz, via Sefaria.