✦ SDA Lessons · Updated weekly

Sabbath School
for reflection & depth

Official SDA Sabbath School curriculum — daily readings, weekly overview, teacher commentary. Fetched from the official Adventech repository and available via API.

View lesson API docs
Weeks loaded
With AI overview
5
API endpoints

This week's lesson

Live data from the API — updates automatically

Loading…

Ask about the lesson

Ask any question about this week's lesson — the AI answers based on the lesson text and SDA theology.

Ask a question about the lesson to start the conversation

Architecture

How it works

Download everything once, pre-generate AI overviews — respond instantly without redundant API calls.

1
📥
Download from GitHub
Adventech/sabbath-school-lessons
On first start the service downloads all available quarters (UK, EN, RU, DE) from the official Adventech repository. Each week: 7 daily lessons + teacher commentary. Everything is saved locally in /data/lessons.json.
GitHub APIParallel downloadUK · EN · RU · DEPersistent volume
2
AI overview for every week
Groq · llama-3.3-70b
After downloading, Groq generates a structured overview for every week in each language and saves it alongside the lesson. This happens once — subsequent requests involve no AI at all.
Memory verseMain thoughtKey per dayConclusionsDiscussion Q'sTeacher insightTheological themesCross-references
3
Instant response from memory
FastAPI · In-memory
All endpoints return data from RAM — no GitHub, no Groq, no database. 5 endpoints for different needs: 4 structured GET modes + streaming AI chat. Language is selectable via ?lang= on every request.
todaydigestsummaryweekask (SSE)
4
🔄
Auto-update weekly
Background task
A background task checks GitHub for new quarters and reloads the current one (lessons may be updated mid-quarter). New weeks get AI overviews automatically.
7-day cycleNew quarter → auto-download/admin/refresh

Documentation

REST API

Base URL: https://sabbathschool.bible-llm.com

Query parameters (all GET endpoints):  lang — language: uk (default) · en · ru · de   date — any date within the desired week, format YYYY-MM-DD (default: current week)
GET/lesson/today Daily reading

Returns the full text of today's lesson (or the day matching ?date=) + AI weekly context (memory verse, main thought). Best for: "today's lesson", "what to read in SS today".

Response
week_titlestringWeek topic
day_namestringSaturday / Sunday / Monday …
datestringLesson date (YYYY-MM-DD)
contentstringFull lesson text for today (markdown)
summaryobjectPre-generated AI overview: memory_verse, main_thought, conclusions, discussion_questions, theological_themes, cross_references, practical_application
bash
curl "https://sabbathschool.bible-llm.com/lesson/today?lang=en"
curl "https://sabbathschool.bible-llm.com/lesson/today?lang=ru&date=2025-10-05"
GET/lesson/week/digest Optimal for bots

Compact week view: memory verse + main thought + first two paragraphs of each day (hook for reflection) + AI key sentence per day + conclusions. ~23KB vs ~80KB for the full week. Ideal for "tell me about this week's lesson".

Response
memory_versestringMemory verse (from AI overview)
main_thoughtstringMain theological thought of the week
days[]array7 items: day_name, date, key (AI key sentence), opening (~700 chars of lesson text)
conclusionsarray[5]5 conclusions for the week
bash
curl "https://sabbathschool.bible-llm.com/lesson/week/digest?lang=en"
curl "https://sabbathschool.bible-llm.com/lesson/week/digest?lang=de&date=2025-10-05"
GET/lesson/week/summary Structure

Full AI-structured overview — pure AI analysis, no raw lesson text. Contains all fields needed for a deep study session: memory verse, main thought, key per day, conclusions, 5 discussion questions, theological themes, cross-references, teacher insight, practical application.

Response
memory_versestringMemory verse
main_thoughtstringMain theological thought (4–5 sentences)
daily[]array[7]{day, key} — AI key thought per day in 1 sentence
conclusionsarray[5]5 conclusions for the week
discussion_questionsarray[5]5 group discussion questions
theological_themesarray[3]3 key theological themes of the week
cross_referencesarray[5]5 Bible cross-references for deeper study
teacher_insightstringKey thought from teacher commentary
practical_applicationstringPractical life application of the week's lesson
bash
curl "https://sabbathschool.bible-llm.com/lesson/week/summary?lang=en"
curl "https://sabbathschool.bible-llm.com/lesson/week/summary?lang=ru&date=2025-10-05"
GET/lesson/week Full text

Complete text of all 7 days + full teacher commentary + AI overview. For deep lesson preparation or when the full material is needed.

Response
days[]array[7]7 days: day_name, date, content (full lesson text, markdown)
teacher_commentsstringFull teacher commentary
summaryobjectFull AI overview (all fields)
bash
curl "https://sabbathschool.bible-llm.com/lesson/week?lang=en"
curl "https://sabbathschool.bible-llm.com/lesson/week?lang=de&date=2025-10-05"
POST/ask AI chat · SSE

Streaming AI chat about the lesson. Sends a question and receives a Server-Sent Events stream. The AI answers based on the lesson text and SDA theology. Responds in the language specified by lang.

Request body (JSON)
questionstring*The question to ask (min 3 chars)
langstringResponse language: uk / en / ru / de (default: uk)
datestringWeek to ask about, YYYY-MM-DD (default: current week)
SSE events
chunkevent{"text": "..."} — streamed text fragment
doneeventStream complete
errorevent{"error": "..."} — error message
javascript
const resp = await fetch('https://sabbathschool.bible-llm.com/ask', {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({ question: 'What is the main theme?', lang: 'en' })
});
const reader = resp.body.getReader();
// read SSE stream: event: chunk / done / error