📽️Product · SAGE

The Screen Assisted Guided Experience.

A bimah projector that builds itself from your service order.

Most synagogues running a projector have someone maintaining a 200-slide PowerPoint, week after week. SAGE replaces that workflow entirely. Plug page scans into the ritual catalog once, build your run-of-service in Bimah, and the projector auto-paginates every slide — siddur image on the right, transliteration top, English bottom, RTL Hebrew when the script calls for it. Region overlays highlight the verse on screen, so congregants follow visually.

Operator + projector, two screens

Operator drives Start / Next / Back / End from a laptop. Projector renders fullscreen on the sanctuary display. Both poll the same state once a second, so they stay in lockstep without any networking infrastructure beyond the synagogue's existing wifi.

  • Operator at /sage/[serviceId] — big NOW + UP NEXT preview cards, section rail, ⌘F find
  • Projector at /sage/[serviceId]/present — clean, large, no chrome
  • Window Management API picks the target display automatically (Chrome / Edge)
  • Cross-window fullscreen via tap-anywhere or any-key fallback

Auto-rendered slide kinds

Beyond paginated siddur pages, SAGE auto-builds slides for Torah aliyot (with the Etz Hayim cover on the right rail), sermon title cards with speaker name + tenant logo, leadership tables, ark-opening honors, English readings — all from the existing service-order metadata, no separate deck to maintain.

  • InfoCard: "Aliyah 1 (Kohanim)" / "Maftir" / "Haftarah" with verse range + page label + honoree(s) Hebrew RTL + reader
  • TitleCard: sermon / announcement / greeter speaker overlays
  • LeadershipTable: 2-col table of every active service role assignment, sorted by display order
  • Section header slides: optional auto-announce at every section transition ("Welcome to Pesukei D'Zimra")
  • PowerPoint slide override: per-line-item image upload for custom slides — pixel parity with existing decks

Per-printed-page model with auto-regions

Each siddur page is a row in the catalog: image scan + transliteration + English. Long prayers like Ashrei flip the right-rail thumbnail mid-prayer when the text crosses page boundaries. Region rectangles drawn on the page image highlight the active sub-slide — and an ink-density auto-pass divides any populated page into N bands matching the projector's pagination, so you get a moving 'you're here' cue out of the box.

  • 65 Sim Shalom pages across 43 prayers ship pre-loaded for AA Saturday morning (Ashrei, Kaddish variants, Shema, Shirat HaYam, Nishmat, …)
  • Hand-drawn region rectangles always win when present
  • Auto-region fallback: ink-density scan + paragraph detection, language-agnostic
  • Sub-slide count auto-derives from pagination — no manual numbering

Hebrew rendering done right

Hebrew script auto-detects via Unicode range. The projector flips RTL, swaps to Frank Ruhl Libre serif, sizes for distance reading at 45pt floor. Section labels swap from "Transliteration" to "Hebrew" automatically. No admin choice required — the data drives it.

  • Frank Ruhl Libre — bundled, no font fallback ambiguity
  • RTL/LTR per-pane based on content script
  • 45pt readable floor with clamp-up for larger displays
  • Posture banner: rose 🧍 "Please Rise" / emerald 🪑 "Be Seated" when the catalog flags it
Frank Ruhl Libre at 45pt, gold on near-black — readable from the back of a 300-seat sanctuary.

Operator control room

Section jump rail down the left side. NOW + UP NEXT cards with clickable region rectangles — click any block to jump the projector to that exact sub-slide. ⌘F find searches across slide title, section, Hebrew label, English, honor IDs. Display-readiness banner warns when the laptop can't see a second display before launch.

  • 🛑 HOLD button → "Please stand by"
  • 🪧 LOGO button → tenant logo holding slide
  • Section overlay popup (Phase A in progress) — click section, see all slides in it, jump to any
  • Service ETA panel + calibrate from the operator screen (Phase A in progress)

SAGE Inserts + Section headers

Beyond paginated prayers, SAGE supports projector-only content: Mi Sheberach instructions, kavanot, custom announcements, group readings. Quick-create from the run-of-service editor's Add Row modal — type content, click Create, the catalog item exists + the row links automatically. Sections can carry an optional header slide that auto-injects at section transitions.

  • SAGE Insert category in the catalog — body text only, no page images required
  • Quick-Create flow in the run-of-service editor — no detour through Settings
  • Section header slides: synthesized at runtime, no run-of-service pollution
  • PDF default: hide SAGE Inserts from the printed run-of-service (toggle to include)

Permission model

Dedicated tenant.services.run_sage permission so synagogues can grant operator access to media-team volunteers without giving them service-edit rights. Implied by services.edit so existing Service Editor + Administrator roles auto-inherit.

  • Per-tenant SAGE Operator system role pattern (used at AA today)
  • Operator vs editor split — front-of-house vs back-of-house
  • Permission tiering: view < run_sage; edit implies run_sage
  • Audit log every advance, jump, calibration
In designPipeline highlight

SAGE Voice Sync — the projector follows the leader.

A small dedicated listener box near the AV booth captures audio from the soundboard, transcribes the prayer leader in real time using on-device Whisper AI (multilingual, Hebrew + English + transliteration), matches what it hears against the live SAGE deck, and posts an advance through SAGE's existing operator API. The projector tracks the leader automatically — no operator at a laptop, no wireless clicker fumbling, no “wait, what slide are we on.”

Manual operator input always wins. A wireless clicker, the operator screen, or a touch on the projector instantly overrides voice sync for a few seconds — so the AI is a co-pilot, not an autopilot. Designed to fail soft: if the listener box is offline, the operator drives manually exactly as today, with no service-day surprise.

Why it's simpler than you'd expect

Existing SAGE PowerPoint-replacement systems require operators to embed metadata into every slide note, refactor the deck for machine-readability, and maintain a separate trigger map. SAGE already has all that structure — siddur page text, Hebrew, transliteration, English, section transitions, honor codes — as first-class data in the catalog. The listener just queries a small “match candidates” endpoint and posts an HTTP advance call. No deck refactoring. No metadata wrangling.

Smarter than dual-trigger logic

Sliding-window N-gram matching against the next 4-5 sequential slides PLUS the first slide of every upcoming section — so section-skipping (“let's jump ahead to Musaf”) works automatically. Transliteration normalization handles sh / š / kh / ḥ variants. Confidence threshold tunable per service. Telemetry feeds the calibration analytics pipeline so per-prayer timing data accumulates automatically.

Auto Quiet Mode for sermons

When the current slide is in a section flagged as a quiet zone (sermon, silent amidah, meditation), the listener narrows matching to section-transition cues only — so a 15-minute d'var Torah doesn't risk advancing the projector mid-thought. Resumes full matching automatically when the leader transitions back into liturgy. No wake-word toggling, no manual sleep mode.

Hardware: small, silent, ~$700–$1,600

A Jetson Orin Nano dev kit ($499) plus a Focusrite Scarlett 2i2 ($199) is the compact path — fanless, lives in an AV closet, runs Whisper-large-v3-turbo at real-time. A Mac Mini M4 Pro ($1,400) is the easier deployment if your team prefers macOS. 100% local processing — no cloud calls, no internet dependency during services.

Architecture preview

SAGE gets a new /api/sage/[serviceId]/match-targetsendpoint returning a trimmed payload of upcoming slide text content optimized for matching. A new tenant.services.run_voice_syncpermission gates a service-account API token used by the listener box. New voice_sync_eventsand voice_sync_listener_sessionstables capture telemetry for post-service review and feed the calibration analytics pipeline. The reference Python listener ships open-source as a Docker container + a Jetson image, so synagogues can self-host with confidence.

On deck

What's coming

  • SAGE Voice Sync — AI listener that follows the leader (designed, summary above)
  • Calibration analytics — capture every advance + contextual snapshot for prayer-timing analysis (in flight)
  • Constrained rich-text editor for catalog body text (bold, italic, line breaks — no font / color override)
  • Live transcript / song-leader cue notes alongside the projector
  • Auto-advance on next-line cue: wave a hand at the bimah Bluetooth puck

SAGE is in production at our launch partner. Demo on a real Saturday morning.

We're onboarding new launch-partner synagogues selectively while we mature the platform with our beta partner. Send a note and we'll set up a conversation.