ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Study and quiz app for the Bible's main events and storyline, built for youth ministry and Bible study groups.
EducationJavaScript · TypeScriptGitHub @chauandrewOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A Bible study and quiz app (Genesis, Exodus, 1-2 Samuel, Ezra, Psalms, Matthew,
John, Galatians), built for youth ministry
leaders and the high schoolers they teach. Domain knowledge over trivia: what
happens, where, and to whom — not theological debate.
Static site, no backend, no database — with one scoped exception: Question of
the Day (/qotd) calls Supabase directly from the browser to record answers
and show a shared daily percentile. Everything else stays backend-free.
Content is developer-authored JSON validated by Zod. Progress is tracked in
the browser via localStorage.Read the full README ↗A Bible study and quiz app (Genesis, Exodus, 1-2 Samuel, Ezra, Psalms, Matthew, John, Galatians), built for youth ministry leaders and the high schoolers they teach. Domain knowledge over trivia: what happens, where, and to whom — not theological debate.
Static site, no backend, no database — with one scoped exception: Question of
the Day (/qotd) calls Supabase directly from the browser to record answers
and show a shared daily percentile. Everything else stays backend-free.
Content is developer-authored JSON validated by Zod. Progress is tracked in
the browser via localStorage.
npm install
npm run dev
Every page except /qotd works with no configuration. To exercise Question
of the Day locally, create a Supabase project (see supabase/migrations/0001_qotd.sql
for the schema to run), then add a .env.local:
NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=...
Without it, lib/supabase.ts only throws when a QOTD submit/fetch call is
actually made — the rest of the app is unaffected, and /qotd itself still
loads and shows the question, it just can't save an answer or show a
percentile.
Each book's content lives in content/<book>/*.json, validated against
content/schema.ts. Quiz questions come from two sources:
events.json/quotes.json/chapters.json
by lib/generate.ts (which chapter, where, who says it, what a chapter is about,
event ordering, matching). Exhaustively validated at build time so nothing ambiguous
ships.questions.json (themes, arcs,
covenants, characters, the book's argument) that a generator can't produce. Either
multiple choice (options + correctIndex) or short answer (format: "short-answer",
a one-or-two-word answer the player types, plus optional aliases).Events, quotes, and authored questions can carry tier: "general" for the facts most
churchgoers know without having read the book; the whole-Bible quiz's "General
knowledge" mode draws only from those. Untagged items are "deep".
CONTENT_PLAN.md is the roadmap for covering all 66 books: the per-genre conventions,
the per-book authoring recipe, and a coverage table. Start there before authoring a book.
Run the content gate before committing any content change:
npm run check:content
npm test
Fully static (output: "export" in next.config.ts) — no serverless functions.
npm run build
NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY (all
environments) so Question of the Day works on the deployed site. NEXT_PUBLIC_*
vars are inlined at build time, so this must be done before the first
build that needs them.npm run build, and serves the static
out/ directory produced by output: "export". No other project
settings need to change.No vercel.json is included on purpose: this is a plain static export with
no functions, no redirects, and no headers that need overriding, so Vercel's
zero-config static-site handling (including the auto-generated 404 page) is
enough. Add one later only if a real need shows up (custom headers,
redirects, etc.).
Vercel Analytics and
Speed Insights are wired into
app/layout.tsx. Both only report data when served from a Vercel domain —
they no-op in local dev and in the static out/ build.